85524

Разработка базы данных для учета материальных ценностей в ресторане

Курсовая

Информатика, кибернетика и программирование

Программа предназначена для накопления и анализа данных о результатах учета материальных ценностей в ресторане, об их стоимости и количестве. Кроме того, программа должна выдавать справочные данные о МЦ, о контрагентах, о материально-ответственных лицах.

Русский

2015-03-27

25.06 MB

11 чел.

Федеральное государственное образовательное учреждение высшего профессионального образования

«Пензенская государственная технологическая академия»

Кафедра «Прикладная информатика»

КУРСОВОЙ ПРОЕКТ

по дисциплине «База данных»

на тему: «Разработка базы данных для учета материальных ценностей в ресторане»

Выполнил: ст. гр. 09Э

Семячкина И.А.

 Руководитель: доцент кафедры

Шигина Н.А.

Пенза, 2012


ПЕНЗЕНСКАЯ ГОСУДАРСТВЕННАЯ  ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ

Кафедра «Информатика»

УТВЕРЖДАЮ

Зав. кафедрой  Ремонтов А.П.

                                       _______________________

  1.  “_____” __________ 2012 г.

З А Д А Н И Е

на курсовое проектирование по дисциплине  “Базы данных”

Студенту ___Семячкиной И.А.  _______  Группа -  09Э

Тема проекта:  “Разработка базы данных для учета материальных ценностей в ресторане”

Технические требования на проектирование:

Программа предназначена для накопления и анализа данных о результатах учета материальных ценностей в ресторане, об их стоимости и количестве. Кроме того, программа должна выдавать справочные данные о МЦ, о контрагентах, о материально-ответственных лицах.

База данных хранит справочную информацию о МЦ, текущую информацию об их цене,  количестве и движении.

Функции программы:

1)  выводить в удобной форме данные по следующим запросам пользователя:

- групповое изменение цен;

- поиск МОЛ по дате записи,

- поиск МЦ по цене,

- расчет чистой прибыли,

- расчет остатка МЦ на складе,

- перекрестный запрос: суммарное количество МЦ по группам

2) ввод и коррекция оперативных и справочных данных в диалоговом режиме;

3) архивация данных за истекший год во внешний файл;

4) вывод на печать документов: информация о МЦ, журнал учета движения МЦ, информация о контрагентах, отчет отражающий остаток МЦ на складе, диаграмма расчета цены партий товара.

5)  Вывод сведений об авторе и назначении программы.

Общие требования:

Программа должна иметь удобный пользовательский интерфейс, обеспечивать помощь пользователю по его требованию.

Следует предусмотреть меры по защите информации в БД от внесения ошибок, от потери данных в результате сбоев аппаратуры и несанкционированного доступа.

База данных размещается на локальном рабочем месте. Рекомендуемая СУБДOracle Application Express.

 

Объем работы по курсу

1. Расчетная часть:

1.1. Анализ предметной области

1.2. Разработка структуры БД

1.3. Разработка приложения БД

1.4. Руководство пользователя.

2. Графическая часть:

  1.  Диаграмма потоков данных
  2.  Диаграмма «Сущность – связи»
  3.  Схема работы системы

3. Экспериментальная часть:

3.1. Создание и загрузка базы данных.

3.2. Разработка и отладка прикладной программы для работы с БД.

Срок выполнения проекта по разделам:

    1, Пункт 1.1        - к  10.10.201_

    2. Пункты 1.2, 3.1            - к  31.10.201_

    3. Пункты 1.3, 3.2            - к  30.11.201_

    4. Пункт 1.4 и оформление ПЗ и графической части       - к 20.12.201_

Дата выдачи задания - _________________________

Руководитель -  ______________________________

Задание получил ____ сентября  2012  ____________

Студент ___Семячкина И.А.____________________

Дата защиты проекта - ________________________

Оглавление

Введение 5

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

2. РАЗРАБОТКА СТРУКТУРЫ БАЗЫ ДАННЫХ 11

2.1 Регистрация и вход  в Oracle Application Express 11

2.2 Создание таблиц в Oracle Application Express 12

2.2.1 Создание таблицы с помощью диалогового режима 12

2.2.2 Создание таблицы в режиме SQL 17

2.3 Структура БД 18

3. РАЗРАБОТКА ПРИЛОЖЕНИЯ БД 21

3.1  Создание запросов 21

3.2 Создание основы для приложения 34

3.3 Создание форм 38

3.4 Создание отчетов 52

3.5 Создание диаграммы 59

3.6 Внесение данных в таблицы 65

3.7 Создание главной страницы приложения 69

4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 73

Заключение…………………………………………………………………………………...…86

Список литературы……………………………………………………………………………..87

Приложение А. ДПД 88

Приложение Б. СХЕМА ДАННЫХ 93

Приложение В. ТЕКСТ SQL – ЗАПРОСОВ 95

Приложение Г. СХЕМА РАБОТЫ СИСТЕМЫ………………..……………..................102


Изм.

Лист

№ докум.

Подпись

Дата

Лист

4

КП – БД – 0863 81 01

Разраб.

Семячкина И.А.

Провер.

Шигина Н.А.

Реценз.

Н. Контр.

Утверд.

Разработка базы данных для учёта материальных ценностей в ресторане

Пояснительная записка.

Лит.

Листов 

109

ПГТА, гр. 09Э

Введение

В настоящее время наблюдается тенденция роста информации и компьютеризации общества, причём эта тенденция отмечается повсеместно – во всех странах мира, в разных областях профессиональной деятельности и в быту. Ядро любой ИС составляет информационная база, преобладающей формой организации которой является БД.

БД – совокупность данных, организованная по определенным правилам, предусматривающая общие принципы описания, хранения, манипулирования данными, независимыми от прикладных программ.

Еще одной тенденцией является развитие сети Интернет, которая стала неотъемлемой частью повседневной жизни людей, да и организаций. А можно ли использовать Интернет для работы с БД? ответом на этот вопрос является мой курсовой проект. И ответ здесь однозначен – МОЖНО! и даже нужно! Специально для этих целей предназначен облачный сервис http://apex.oracle.com/ . Несомненным преимуществом данной среды является  возможность полного отсутствия специализированного ПО на рабочем месте, за исключением любого браузера для выхода в Интернет. Остальные возможности посмотрим на примере в ходе выполнения курсового проектирования.

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

База данных должна быть размещена в сети Интернет (облачный сервис http://apex.oracle.com/), она предназначена для хранения и получения данных, представления их в удобном виде и авторизации часто выполняемых операций.

Рассматриваемой предметной областью является АРМ по учету МЦ в ресторане. Основным предназначением разрабатываемой программы является приём материальных ценностей на склад, внесение информации о МЦ в журнал, заполнение необходимой информации о контрагентах и материально-ответственных лицах, формирование отчётности по движению МЦ.

Конечным пользователем разрабатываемой базы данных является заведующий складом, который непосредственно контактирует с материально-ответственными лицами и контрагентами.

К основным обязанностям заведующего складом относится:

прием, хранение и выдача МЦ;

контроль за движением МЦ;

ведение отчетной документации по движению МЦ;

обеспечение сохранности МЦ;

ввод и коррекция справочных данных.

Задачи, которые будут решаться заведующим склада с помощью компьютера следующие:

ввод и коррекция данных о МЦ, контрагентах и сотрудниках;

поиск данных о МЦ;

учет движения МЦ;

расчет суммарной цены партий МЦ;

расчёт чистой прибыли;

расчёт остатка МЦ на складе;

групповое изменение цен;

диаграмма расчета цены партии товара.

Для решения задач будут использоваться следующие входные данные:

данные о МЦ;

данные о сотрудниках;

данные о контрагентах.

В процессе решения будут получены следующие выходные данные:

информация о МЦ;

информация о контрагентах;

данные журнала по движению МЦ;

отчет отражающий остаток МЦ на складе;

отчет отражающий суммарное количество МЦ по группам;

диаграмма расчета цены партий товара.

Начальным этапом проектных исследований является анализ документооборота организации, какие документы, из каких подразделений поступают в ЭИС, какие из документов должны выдаваться из ЭИС. Эта задача решается с помощью моделирования информационных процессов. Для этой цели используется диаграмма потоков данных (ДПД). ДПД приложения «АРМ заведующего складом по учету МЦ в ресторане» показана в приложении А.

ДПД была разработана с использованием возможностей MS Visio 2007. ДПД состоит из нескольких уровней, каждый из которых отражает определенные информационные задачи, выполняемые пользователем разработанной БД:

детальной диаграммы нулевого уровня «АРМ заведующего складом по учету МЦ»;

детальной диаграммы процесса А1 «Оперативный учёт»;

детальной диаграммы процесса А2 «Отчетность за год»;

детальной диаграммы процесса А3 «Работа со справочниками»;

детальная диаграмма процесса А4 «Сервисные функции».

Таблица 1 – Перечень функций второго и третьего уровней

Обозначение

Функции 2 уровня

Функции 3 уровня

А1.1

Учет поступления  МЦ

- заполнение журнала

- расчет стоимости продукции

А1.2

Учет расхода МЦ

- заполнение журнала

- выдача МЦ ресторанам

А1.3

Анализ обеспеченности МЦ

- расчет остатка МЦ на складе

- печать отчета 

А2.1

Диаграмма расчета цены партий

- построение диаграммы

- печать диаграммы

А2.2

Формирование отчета о суммарном количестве МЦ по группам

- формирование перекрёстной таблицы

- печать отчета

А2.3

Формирование отчета о движении МЦ

- формирование журнала учета движения продукции

- печать отчета

А3.1

Работа со списком МЦ

- ввод и коррекция данных о МЦ

- поиск данных о МЦ

А3.2

Работа со списком поставщиков

- ввод и коррекция данных о поставщиках

- поиск данных о контрагентах

А3.3

Работа со списком получателей

- ввод и коррекция данных о получателях

- поиск получателей

А4.1

Руководство пользователя

-печать руководства

А4.2

Вывод сведений о программе

При работе БД формируются следующие документы:

информация о МЦ;

информация о контрагентах;

данные журнала по движению МЦ;

отчет отражающий остаток МЦ на складе;

диаграмма расчета цены партий товара.

Любой документ состоит из отдельных полей, называемых реквизитами, которые считаются элементарными единицами информации и отображают свойства того или иного реального объекта или процесса. Каждый реквизит имеет имя, значение и область определения. Реквизиты делятся на два вида: признаки, отображающие обстоятельства события (место, время, действующих лиц, единицы измерения, номера документов или идентификаторы объектов) и основания, отображающие количественные свойства объектов и процессов.

Реквизиты документов представлены в таблице 2

Таблица 2Реквизиты документов

Признаки

Основания

na – наименование МЦ

Строки до 60 символов

 K – количество

Целые числа от 1 до 1000

ed- единица измерения

Строки до 10 символов

С - стоимость

Денежные

op - описание

Строки до 150 символов

Ц – цена ед.товара

Денежные

nakon – наименование контрагента

Строки до 50 символов

Об – объем партии

Целые числа от 1 до 1000

do – дата записи

Строки календарного типа

ОСТ – остаток МЦ на складе

Целые числа от 1 до 1000

gr – группа МЦ

Строки до 50 символов

ЧП – чистая прибыль

Денежные

п- партия МЦ

Строки до 50 символов

ОбКп – общее количество поступивших МЦ

Целые числа от 1 до 1000

prih - приход

Строки до 20 символов

ОбКр – общее количество расходованных МЦ

Целые числа от 1 до 1000

rash - расход

Строки до 20 символов

Взаимосвязь и формулы расчёта показаны ниже:

ОК – общее количество МЦ

Сп – стоимость партии

С prihстоимость приобретенных МЦ

С rash – стоимость расходованных МЦ

ЧП – чистая прибыль

ОбКп na, do – общее количество приобретенных МЦ

ОбКрna, do – общее количество расходованных МЦ

ОСТna, do – остаток МЦ на складе

ОК gr,do = ∑К gr,do

Сп = Об* Ц na

С prih = К prih* Цna

С rash = К rash* Цna

ЧП = С prih - С rash

ОбКп na, do = К prih

ОбКрna, do = К rash

ОСТna, do = К prih - К rash


2. РАЗРАБОТКА СТРУКТУРЫ БАЗЫ ДАННЫХ

2.1 Регистрация и вход в Oracle Application Express

Для того чтобы начать работу в СУБД Oracle Application Express я зарегистрировалась в данной системе. Процесс регистрации заключается в вводе некоторых персональных данных: логина, пароля, названия рабочей области, причины регистрации в данной системе. После успешного прохождения всех этапов, на мою электронную почту были высланы данные для входа.

При первом входе в облако необходимо указать «Рабочее пространство (Workspace)», «Имя пользователя» и «Пароль» (restoran) (Рисунок 1).

Рисунок 1 - Вход в Oracle Application Express

2.2 Создание таблиц в Oracle Application Express

2.2.1 Создание таблиц с помощью диалогового режима

Создавать таблицы в СУБД Oracle Application Express можно двумя способами: в диалоговом режиме и с помощью языка SQL. Для создания таблиц первым способом я, после входа в систему, нажала кнопку SQL Workshop (Рисунок 2).

Рисунок 2 – Кнопка SQL Workshop

Что бы открыть мастер создания таблиц я выбрала кнопку Object Browser (Рисунок 3).

Рисунок 3 - Кнопка Object Browser

Открывшееся окно поделено на две области, слева представлены уже созданные системой Oracle таблицы и запросы. Правая область непосредственно предназначена для создания таблиц. В верхнем правом углу находится кнопка «Create (создать)» (Рисунок 4).

Рисунок 4 - Окно создания таблицы в диалоговом режиме

Если нажать на кнопку «Create», то откроется список, в котором будут представлены объекты базы данных, которые возможно создать. Я выбрала пункт Table, т.к. для работы с СУБД мне необходимо создать таблицы и заполнить их данными (Рисунок 5).

Рисунок 5 – Выбор пункта Table

После  того как я выбрала нужный мне тип объекта, откроется окно создания таблицы в диалоговом режиме.

Здесь необходимо указать имя таблицы (Table Name), названия столбцов (Column Name), выбрать из выпадающего списка (Type) типы данных. Так же на этом шаге мы можем установить некоторые ограничения: общее количество знаков, для числовых типов (Precision), количество знаков после запятой (Scale) и проверка на нулевое значения (Not Null). При необходимости можно добавить столбцы кнопкой Add Column. Я приведу пример создания таблицы «KONTRAGENTI» (Рисунок 6).

Рисунок 6 – Создание полей таблицы

После того, как я заполнила названия полей и указала соответствующие типы, я перешла к следующему этапу – созданию ключевых полей. Ключевое поле — это одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице. 

Мне предлагаются 4 варианта: не указывать ключевое поле, указать ключевое поле из создаваемых, указать ключевое поле из уже существующей таблицы, не заполнять.

Я выбрала второй вариант и указала поле, которое является ключевым Kod_K (Рисунок 7).

Рисунок 7 – Создание ключевого поля

На следующем этапе мне предлагается указать внешний ключ, для этого я выбрала поле, которое будет внешним ключом (Select Key Column(s), можно выбрать несколько полей), таблицу с которой хочу связать создаваемую таблицу (References Table), и поле в связанной таблице (Select Reference Column(s)). Так же здесь мне предлагается три варианта параметров удаления данных из связанных таблиц: Disallow Delete – отключить удаление, Cascade Delete – каскадное удаление, Set Null on Delete – простановка 0 при удалении. Для данной таблицы я выбрала каскадное удаление. При необходимости можно добавить еще внешний ключ, нажав кнопку Add (Рисунок 8).

Рисунок 8 - Окно выбора внешнего ключа

 Следующее окно – это окно создания ограничений. Есть два вида ограничений, это проверка (Check) которую можно задать при помощи ввода SQL команд, и уникальность (Unique), где можно указать значение каких столбцов уникально. Я выбрала второй вариант (Рисунок 9).

Рисунок 9 - Окно создания ограничений

В следующем окне можно посмотреть, как выглядит запрос на создание таблицы на языке SQL, просмотрев его, я нажала на Create Table (создать таблицу) для завершения создания таблицы.

CREATE TABLE  "KONTRAGENTI"

               ("NAZVANIE" CHAR(30) NOT NULL ENABLE,

"ADRES" CHAR(30) NOT NULL ENABLE,

"TELEFON" NUMBER(20,0) NOT NULL ENABLE,

"BANK_REKV" CHAR(30),

"KOD_K" NUMBER,

 CONSTRAINT "KONTRAGENTI_PK" PRIMARY KEY ("KOD_K") ENABLE,

 CONSTRAINT "KONTRAGENTI_UK1" UNIQUE ("ADRES", "TELEFON", "BANK_REKV", "KOD_K") ENABLE )

/

CREATE OR REPLACE TRIGGER  "BI_KONTRAGENTI"

 before insert on "KONTRAGENTI"               

 for each row  

begin   

 if :NEW."KOD_K" is null then

   select "KONTRAGENTI_SEQ".nextval into :NEW."KOD_K" from sys.dual;

 end if;

end;

/

ALTER TRIGGER  "BI_KONTRAGENTI" ENABLE

/

2.2.2 Создание таблиц в режиме SQL

Для создания таблицы в режиме SQL, аналогично предыдущему способу нажмем кнопку SQL Workshop. Я приведу пример создания таблицы «JURNAL_TABL_CHAST». Для этого далее я выбрала кнопку SQL Commands (Рисунок 10).

Рисунок 10 - Кнопка SQL Commands

На открывшейся страничке в центре находится область для ввода SQL команд, сверху две кнопки Save для сохранения написанной команды и  Run для запуска команды на выполнение, так же есть выпадающий список для выбора размера шрифта, значок для открытия таблиц и значок для удаления написанной команды (Рисунок 11).

     Рисунок 11 - Окно ввода SQL команд

Для создания таблицы воспользуемся командой  CREATE TABLE:

CREATE TABLE  "JURNAL_TABL_CHAST"

  ( "KOL-VO" NUMBER,

"KOD_PARTII_MC" NUMBER NOT NULL ENABLE,

"KOD_VIDA" NUMBER NOT NULL ENABLE,

"KOD_ZAPISI" NUMBER NOT NULL ENABLE,

"KOD_K" NUMBER NOT NULL ENABLE

  )

/

После нажатия кнопки Run, если система не обнаружила ошибок, выведется  сообщение, что таблица создана. Стоит заметить, что названия таблиц и столбцов необходимо вводить латинскими буквами, иначе возникает ошибка.

2.3 Структура БД

В СУБД Oracle Application Express невозможно создать схему данных как в Microsoft Access, но чтобы показать наглядно все таблицы и связи между ними я воспользовалась формой создания запроса. Для этого из меню SQL Workshop я выбрала кнопку Utilities (Рисунок 12).

Рисунок 12 - Кнопка Utilities

Далее выбрала кнопку Query Builder (Рисунок 13).

Рисунок 13 – Кнопка Query Builder

В открывшемся окне из боковой панели я добавила все свои таблицы, просто нажав на их названия одним щелчком, и соединила линиями необходимые поля (Рисунок 14).


Рисунок 14 – Структура БД


3. РАЗРАБОТКА ПРИЛОЖЕНИЯ БД

3.1 Создание запросов

Для создания запросов я выбрала команду SQL Workshop, далее пункт SQL Commands (Рисунок 15).

Рисунок15  – Выбор пункта SQL Commands

На открывшейся страничке в центре находится область для ввода SQL команд, сверху две кнопки Save для сохранения написанной команды и  Run для запуска команды на выполнение, так же есть выпадающий список для выбора размера шрифта, значок для открытия таблиц и значок для удаления написанной команды (Рисунок 16).

Рисунок 16 – Окно SQL Commands

Запрос на добавление

Данный запрос позволяет добавить новую группу МЦ.

  INSERT INTO GRUPPA_MC (KOD_GRUPPY, NAZVANIE_GRUPPY) VALUES ('5','Сыры')

После нажатия кнопки Run, вышло сообщение, что запрос создан.

При нажатии кнопки Save, открылось окно сохранения запроса (Рисунок 17).

Рисунок 17 – Окно сохранения запроса

Запрос на удаление

            DELETE FROM GRUPPA_MC WHERE NAZVANIE_GRUPPY = 'Сыры'

После нажатия кнопки Run, вышло сообщение, что запрос создан.

Далее я сохранила запрос (Рисунок 18).

Рисунок 18 - Окно сохранения запроса

Запрос на выборку товара, цена которого находится в диапазоне от 20 до 70 руб.

SELECT MC.NAIMENOVANIE, PARTIJA_MC.CENA_ED_TOVARA

        FROM MC INNER JOIN PARTIJA_MC ON MC.KOD_MC=PARTIJA_MC.KOD_MC

WHERE (PARTIJA_MC.CENA_ED_TOVARA) Between 20 And 70

После выполнения данного запроса выводится таблица с отсортированными данными (Рисунок 19).

Рисунок 19 – Выборка

Запрос с параметром отображающий материально-ответственное лицо по дате регистрации операции.

Для того чтобы система запрашивала ввод значения, в тексте SQL-запроса после знака присваивания ставим двоеточие и название параметра.

SELECT JURNAL_SHAPKA.DATA_ZAPISI, JURNAL_SHAPKA.MOL

FROM JURNAL_SHAPKA

WHERE JURNAL_SHAPKA.DATA_ZAPISI =:"DATA_ZAPISI";

После выполнения запроса выводится окно, в которое необходимо ввести параметр (Рисунок 20).

Рисунок  20 – Зарос ввода параметра

После нажатия кнопки Submit, выводится выборка (Рисунок 21).

Рисунок 21 – Выборка

Запрос расчета стоимости партии

SELECT PARTIJA_MC.KOD_MC, PARTIJA_MC.OBYEM_PARTII,

PARTIJA_MC.CENA_ED_TOVARA, OBYEM_PARTII*CENA_ED_TOVARA

AS STOIMOST_PARTII FROM PARTIJA_MC;

После выполнения запроса выводится таблица, в которой автоматически создается новый расчетный столбец STOIMOST_PARTII (Рисунок 22).

Рисунок 22 – Расчет стоимости партии

Запрос увеличения цены товара на 10%

UPDATE PARTIJA_MC SET

CENA_ED_TOVARA = CENA_ED_TOVARA*1.1;

   Для начала я зафиксировала данные в таблице до изменения (Рисунок 23).

Рисунок 23 - Данные в таблице до изменения

     После выполнения запроса данные в таблице изменяются (Рисунок 24).

Рисунок 24 - Данные в таблице после изменения

        Запрос рассчитывающий суммарную цену поступивших партий товара

SELECT SUM (CENA_ED_TOVARA) FROM (PARTIJA_MC);

После выполнения запроса выводится запись (Рисунок 25).

Рисунок 25 – Суммарное значение цены

Запрос вычисляющий чистую прибыль

Для создания данного запроса я выбрала Object Browser, в открывшемся окне из выпадающего списка кнопки Create, выбрала View (Запрос) (это еще один вид создания запросов).

В открывшемся окне мне предлагается ввести название запроса,  который можно создать как на SQL так и в диалоговом режиме. В данном случае я создаю его на  SQL (Рисунок 26).

Рисунок 26 – Создание запроса с помощью View

CREATE OR REPLACE FORCE VIEW  "RAS" ("NAZVANIE", "STOIMOST") AS 
  select VID_OPERACII.NAZVANIE as NAZVANIE,
    JURNAL_TABL_CHAST.KOLICHESTVO*PARTIJA_MC.CENA_ED_TOVARA  

as Stoiost from VID_OPERACII VID_OPERACII,
    PARTIJA_MC PARTIJA_MC,
    MC MC,
    JURNAL_TABL_CHAST JURNAL_TABL_CHAST 
 where PARTIJA_MC.KOD_PARTII_MC=JURNAL_TABL_CHAST.KOD_PARTII_MC
    and PARTIJA_MC.KOD_MC=MC.KOD_MC
    and VID_OPERACII.KOD_VIDA=JURNAL_TABL_CHAST.KOD_VIDA
/

 

Рисунок 27 - Результат выполнения запроса

Запрос создается в несколько шагов, на основании ранее созданных запросов. Далее я сгруппировала данные по названию операции «Приход» и «Расход» (Рисунок 28).

CREATE OR REPLACE FORCE VIEW  "PR_RASH" ("ST", "NAZV") AS

select sum(RAS.STOIMOST) AS ST,

RAS.NAZVANIE AS NAZV
from Ras
group by RAS.NAZVANIE
/


Рисунок 28 - Результат работы запроса.

В следующих двух запросах я выделила отдельно ПРИХОД и РАСХОД (Рисунок 29,30).

CREATE OR REPLACE FORCE VIEW  "PRI" ("ST") AS 
  select Stf rom PR_RASH
where nazv='
Приход        '

Рисунок 29 – Результат работы запроса

CREATE OR REPLACE FORCE VIEW  "RA" ("STO") AS 
 select St as Sto from PR_RASH
where nazv='
Расход        '
/

Рисунок 30 – Результат работы запроса

Далее воспользовавшись созданными запросами, я составила запрос CHISTAJA_PRIBIL (Рисунок 31).

CREATE OR REPLACE FORCE VIEW  "CHISTAJA_PRIBIL" ("Чистая прибыль") AS 
   select Pri.St-RA.STO AS "
Чистая прибыль" from pri,  RA

Рисунок 31 - Результат работы запроса

Запрос рассчитывающий остаток МЦ на складе

Данный запрос я также создавала с помощью View. Он состоит из нескольких запросов, на основе которых получается конечный результат.

Для начала я произвела выборку, которая показывает наименование МЦ, количество на складе и вид операции (приход или расход).

CREATE OR REPLACE FORCE VIEW  "RAZN1" ("NAIMENOVANIE", "KOLICHESTVO", "NAZVANIE") AS

 select MC.NAIMENOVANIE as NAIMENOVANIE,

   JURNAL_TABL_CHAST.KOLICHESTVO as KOLICHESTVO,

   VID_OPERACII.NAZVANIE as NAZVANIE

from VID_OPERACII VID_OPERACII,

   JURNAL_TABL_CHAST JURNAL_TABL_CHAST,

   PARTIJA_MC PARTIJA_MC,

   MC MC

where VID_OPERACII.KOD_VIDA=JURNAL_TABL_CHAST.KOD_VIDA

   and JURNAL_TABL_CHAST.KOD_PARTII_MC=PARTIJA_MC.KOD_PARTII_MC

   and PARTIJA_MC.KOD_MC=MC.KOD_MC

/

Рисунок 32 – Результат работы программы

В следующих двух запросах я выделила отдельно данные по приходу и расходу (Рисунок 33,34).

CREATE OR REPLACE FORCE VIEW  "RAZN2" ("NAIMENOVANIE", "KOLICHESTVO", "NAZVANIE") AS

select RAZN1.NAIMENOVANIE as NAIMENOVANIE,

RAZN1.KOLICHESTVO as KOLICHESTVO,

RAZN1.NAZVANIE as NAZVANIE

from RAZN1 RAZN1

where RAZN1.NAZVANIE='Приход'

/

Рисунок 33 - Результат работы программы

CREATE OR REPLACE FORCE VIEW  "RAZN3" ("NAIMENOVANIE", "KOLICHESTVO", "NAZVANIE") AS

 select RAZN1.NAIMENOVANIE as NAIMENOVANIE,

   RAZN1.KOLICHESTVO as KOLICHESTVO,

   RAZN1.NAZVANIE as NAZVANIE

from RAZN1 RAZN1

where RAZN1.NAZVANIE='Расход'

/

Рисунок 34 - Результат работы программы

Далее на основе ранее созданных запросов я составила запрос, где выводится наименование МЦ и количество, оставшееся на складе (Рисунок 35).

CREATE OR REPLACE FORCE VIEW  "RAZN4" ("NAIMENOVANIE", "OSTATOK") AS

 select RAZN2.NAIMENOVANIE as NAIMENOVANIE,

   RAZN2.KOLICHESTVO-razn3.KOLICHESTVO as OSTATOK

from RAZN2 left join RAZN3 on RAZN2.NAIMENOVANIE=RAZN3.NAIMENOVANIE

/

Рисунок 35 - Результат работы программы

Перекрестный запрос

Далее я создала перекрестный запрос «Суммарное количество МЦ по группам». Для этого сначала создала промежуточный запрос с помощью объекта View (в диалоговом режиме). Я выбрала необходимые мне таблицы и отметила галочками поля, которые мне понадобятся для запроса (Рисунок 36).

Рисунок 36 - Выбор таблиц и полей для запроса

После этого автоматически формируется SQL – код (Рисунок 37).

Рисунок 37 - Создание промежуточного запроса

select JURNAL_SHAPKA.DATA_ZAPISI as DATA_ZAPISI,

   JURNAL_TABL_CHAST.KOLICHESTVO as KOLICHESTVO,

   GRUPPA_MC.NAZVANIE_GRUPPY as NAZVANIE_GRUPPY

from MC MC,

   PARTIJA_MC PARTIJA_MC,

   GRUPPA_MC GRUPPA_MC,

   JURNAL_TABL_CHAST JURNAL_TABL_CHAST,

   JURNAL_SHAPKA JURNAL_SHAPKA

where JURNAL_SHAPKA.KOD_ZAPISI=JURNAL_TABL_CHAST.KOD_ZAPISI  and

PARTIJA_MC.KOD_PARTII_MC=JURNAL_TABL_CHAST.KOD_PARTII_MC

   and PARTIJA_MC.KOD_MC=MC.KOD_MC

   and MC.KOD_GRUPPY=GRUPPA_MC.KOD_GRUPPY

Рисунок 38 - Результат работы запроса

Далее с помощью SQL Commands я создала перекрестный запрос на основе промежуточного.

select * from (select NAZVANIE_GRUPPY, DATA_ZAPISI, KOLICHESTVO from PEREKR) pivot (SUM (KOLICHESTVO)

for DATA_ZAPISI in ('1' as "Январь",'2' as "Февраль",'3' as "Март",'4' as "Апрель",'5' as "Май",'6' as "Июнь",'7' as "Июль",'8' as "Август",'9' as "Сентябрь",'10' as "Октябрь",'11' as "Ноябрь",'12' as "Декабрь"))order by NAZVANIE_GRUPPY;

Рисунок 39 – Перекрестный запрос

Так как я создавала запросы с помощью разных инструментов, то они отображаются в разных местах. Запросы, созданные с помощью SQL Commands можно просмотреть, нажав в окне SQL Commands на ссылку Saved SQL (Рисунок 40).

Рисунок 40 – Список созданных запросов

Запросы, созданные с помощью View можно просмотреть в окне Object Browser, выбрав из ниспадающего меню в верхнем левом углу - View (Рисунок 41).

Рисунок 41 - Список созданных запросов

3.2 Создание основы для приложения

Для создания своего приложения,  я выбрала кнопку Application Builder (Рисунок 42).

Рисунок 42 - Кнопка Application Builder

После нажатия кнопки появится уже созданное стандартное приложение Sample Database Application. Для создания собственного нажимаю кнопку Create. В открывшемся окне мне предлагается выбрать из трех методов для приложения Database, Websheet и Packaget Application один. Я выбираю Database (База данных) (Рисунок 43).

Рисунок 43 – Выбор метода

Далее мне предлагается ввести имя приложения, схему (KURSOVOIBD), и пользовательский интерфейс (Рисунок 44).

Рисунок 44 – Создание имени приложения

В следующем окне необходимо выбрать тип стартовой страницы (пустая, отчет, форма, график и т.д.). Мне подходит вариант «Blank» - пустая страница (Рисунок 45).

Рисунок 45 - Создание страницы для приложения

Далее появляется окно, где можно устанавливать параметр для копирования компонентов из других доступных приложений. Я выбрала NO (Рисунок 46).

Рисунок 46 - Выбор копирования компонентов

Далее в появившемся диалоговом окне я установила язык, формат даты и времени (Рисунок 47).

Рисунок 47 – Выбор языка, формата даты и времени

На следующем шаге можно указать тему (оформление) для моего приложения. Из выпадающего меню я выбрала пункт All Themes (Все темы), и отметила Green Spring (Theme 11) (Рисунок 48).

Рисунок 48 – Выбор темы

После нажатия кнопки Next появляется окно, в котором описаны выбранные мной атрибуты, необходимо подтвердить свой выбор (Рисунок 49).

Рисунок 49 – Подтверждение создания приложения

Если все операции проделаны правильно, то после нажатия кнопки Create Application, выходит сообщение что приложение успешно создано. Теперь в окне Application Builder появился значок созданного мной приложения (Рисунок 50).

Рисунок 50 – Значок приложения

После нажатия кнопки Run, система запрашивает логин и пароль (Рисунок 51).

Рисунок 51 – Запрос логина и пароля

После ввода данных, открывается главная страница приложения (Рисунок 52).

Рисунок 52 - Главная страница приложения

3.3 Создание форм

Облачный сервис http://apex.oracle.com/ позволяет создавать различные виды форм. Для своего приложения я использовала аналог Составной формы в Access, который здесь называется Detail Form и табличные формы Tabular Form.

Для создания табличной формы в нижней части главной формы своего приложения я нажала кнопку Create. В открывшемся окне выбрала пункт New page. В следующем окне отметила пункт Form (Рисунок 53).

Рисунок 53 – Выбор пункта Form

После нажатия кнопки Next, в открывшемся окне я выбрала пункт Tabular  Form (Табличная форма) (Рисунок 54).

Рисунок 54 -  Выбор пункта Tabular Form

Следующий шаг - выбор таблицы и столбцов. В этом окне я выбрала таблицу, для которой будет создана форма и столбцы, в которые будут вводиться данные. Также здесь можно разрешить различные операции, например, обновление, вставка, удаление (Рисунок 55).

Рисунок 55 – Выбор таблицы и столбцов для формы

Далее устанавливается тип первичного ключ. Табличная форма выполняет операции вставки, обновления, и удаления по строкам. Строки идентифицируются либо с помощью определения первичного ключа либо ROWID псевдо-колонки, которая однозначно идентифицирует строку в таблице (Рисунок 56). 

Рисунок 56 – Выбор типа первичного ключа

В следующем окне мне предлагается выбрать обновляемые столбцы (Рисунок 57).

Рисунок 57 – Выбор обновляемых столбцов

После нажатия кнопки Next появляется окно, где нужно указать имя страницы (Рисунок 58).

Рисунок 58 – Ввод имени страницы

Далее идет окно выбора опций вкладки. Здесь возможны 3 варианта: Do not use tabs(Не использовать вкладки),Use an existing tab set and create a new tab within the existing tab set(Использовать существующий набор вкладки и создать новую вкладку в существующем наборе вкладки), Use an existing tab set and reuse an existing tab within that tab set(Использовать существующий набор вкладки и снова использовать существующую вкладку в том наборе вкладки). Я выбрала второй вариант, и ввела название вкладки (Рисунок 59).

Рисунок 59 – Создание вкладки

Далее выбираем кнопки необходимые для функционирования формы, а также ветвление на другие страницы после завершения работы с формой (Рисунок 60).

Рисунок 60 - Выбор управляющих кнопок

На следующей странице выводится информация о выбранных атрибутах для формы, необходимо подтвердить создание (Рисунок 61).

Рисунок 61 – Подтверждение создания формы

Если форма создана правильно, то после нажатия кнопки Create выводится сообщение (Рисунок 62).

Рисунок 62 – Сообщение «Табличная форма успешно создана»

После нажатия кнопки Run Page открывается вкладка, на которой находится табличная форма (Рисунок 63).

Рисунок 63 – Создавшаяся вкладка

Для того чтобы создать составную табличную форму, в нижней части главной формы приложения я нажала кнопку Create. В открывшемся окне выбрала пункт New page. В следующем окне отметила пункт Master Detail Form (Рисунок 64).

Рисунок 64 - Выбор пункта Master Detail Form

 Далее я выбираю главную таблицу и поля, которые будут отображаться (Рисунок 65).

Рисунок 65 - Выбор главной таблицы

Следующий шаг – я выбираю подчинённую таблицу и указываю поля, которые будут отображаться (Рисунок 66).

Рисунок 66 - Выбор подчиненной таблицы

Далее необходимо установить ключевые поля, мне предлагается два варианта: по умолчанию с базой или указать их вручную, если структура базы и целостность данных сконфигурированы верно. Я выбрала первый вариант (Рисунок 67).

Рисунок 67 – Выбор варианта установки ключевого поля

Далее предлагается определить отношение между главной и подчиненной таблицей, имена полей можно выбрать из списка (Рисунок 68).

Рисунок 68 – Отношение между таблицами

Далее предлагается изменить параметры навигации (Рисунок 69).

Рисунок 69 - Выбор параметра навигации

На следующем этапе предлагаются два вида отображения составной формы: на одной странице или на двух отдельных страницах. Для данной формы я выбрала второй вариант (Рисунок 70).

Рисунок 70 - Выбор отображения формы

Далее предлагается выбрать параметры страниц, создаваемых для составной формы, поля на этом шаге заполняются автоматически (Рисунок 71).

Рисунок 71 - Выбор параметров страниц

Предпоследним этапом является создание вкладки. Мне  предлагается: не создавать вкладку, создать новую вкладку для новой страницы, использовать уже существующую вкладку для новой страницы. Оптимальным выбором является второй вариант (Рисунок 72).

Рисунок 72 – Добавление вкладки

Следующее окно – общий итог выбранных мной действий         (Рисунок 73).

Рисунок 73 - Подтверждение выбора атрибутов

Если форма создана правильно, то после нажатия кнопки Create выводится сообщение (Рисунок 74).

Рисунок 74 - Сообщение об успешном создании формы

После нажатия кнопки Run Page откроется вкладка, на которой будет отображена составная форма (Рисунок 75).

Рисунок 75 – Создавшаяся вкладка

При добавлении данных в таблицу МЦ пользователю неудобно заполнять поля, которые являются кодами других связанных таблиц. Например «Код группы». Поэтому в СУБД Oracle Application Express предусмотрена замена кодовых полей, доступными для восприятия пользователя, значениями. Для этого в окне редактирования страницы нажимаем кнопку , далее в окошке User Interface (Пользовательский интерфейс) выберем ссылку Lists of Values (Список значения). После нажатия кнопки Create открывается окно, в котором необходимо указать, какой список значений мы хотим создать (новый или копию существующего списка). Нам подходит первый вариант (Рисунок 76).

Рисунок 76 – Выбор списка значений

В следующем окне необходимо ввести имя списка и выбрать тип его создания (статический или динамический). Я выбираю динамический, т.к. он создается на основе SQL-запросов (Рисунок 77).

Рисунок 77 – Ввод имени списка

Далее нам предлагается ввести SQL-запрос, его можно создать автоматически, если выбрать ссылку Create Dynamic List of Values (создание динамических списков). В открывшемся окне необходимо выбрать таблицу, из которой будут браться значения (Рисунок 78).

Рисунок 78 – Выбор таблицы

Далее нужно выбрать названия поля, которое заменяется, и то которым необходимо заменить (Рисунок 79).

Рисунок 79 – Замена полей

После проделанных действий формируется SQL-запрос (Рисунок 80).

Рисунок 80 - SQL-запрос

Когда все шаги проделаны, появляется значок созданного списка (Рисунок 81).

Рисунок 81 – Значок списка

Для того чтобы применить данный список, необходимо в окне редактирования страницы, двойным щелчком по изменяемому полю, открыть окно изменения параметров поля (Рисунок 82).

Рисунок 82 – Выбор изменяемого поля

В открывшемся окне в строке Display As (показывать как) выберем Popup LOV, а в строке Named LOV – созданный нами список (ГР.МЦ). После сохранения данного параметра в поле «Код группы», пользователь сможет выбирать конкретные значения групп, а не их коды с помощью значка ниспадающего списка (Рисунок 83).

Рисунок 83 – Заполнение поля с помощью списка

3.4 Создание отчетов

Удобным инструментом для создания отчетов является объект Report (Рисунок 84).

Рисунок 84 – Кнопка Report

Существует несколько вариантов создания отчетов: Интерактивный отчет, Web- отчет, Стандартный отчет и Мастер отчетов. Я выберу первый вариант (Рисунок 85).

Рисунок 85 – Виды создания отчетов

В следующем окне необходимо ввести название отчета (Рисунок 86).

Рисунок 86 – Ввод названия отчета

Далее необходимо определить параметры вкладки. Я выбрала первый вариант (не использовать вкладку) т.к. к данному отчету я буду обращаться с помощью кнопки, созданной на вкладке «Добавление данных в журнал» (Рисунок 87).

Рисунок 87 – Выбор параметра вкладки

Далее с помощью кнопки Query Builder мы переходим в дополнительное окно, в котором нужно выбрать источник отчета (таблицы или запрос). В моем случае выбирается несколько таблиц, которые необходимо связать. Галочками необходимо выделить поля, которые будут отображаться в отчете. Далее просмотрев SQL – код необходимо скопировать его и вставить в окно создания отчета (Рисунок 88).

Рисунок 88 - SQL – код

Далее необходимо подтвердить создания отчета. Я решила переходить к отчету из формы с помощью кнопки. Для ее создания необходимо выбрать кнопку Create на странице приложения. В открывшемся окне я выбрала значок Page control on this page (контроль на станице) (Рисунок 89).

Рисунок 89 - Значок Page control on this page

Следующий шаг – выбор значка Button (Кнопка) (Рисунок 90).

Рисунок 90 - Значок Button

Далее выбирается область создания кнопки (например: название страницы). Потом необходимо установить расположение кнопки (отображение среди стандартных кнопок или на самой странице). Я выбрала второй вариант (Рисунок 91).

Рисунок 91 – Выбор расположения кнопки

На следующей странице необходимо ввести название кнопки, далее - то действие, которое должна выполнять кнопка. Я выбрала пункт «перейти на страницу данного приложения», после чего открылись дополнительные свойства в которых, необходимо выбрать ту страницу, на которую будет ссылаться кнопка, этой страницей является созданный ранее отчет «Данные журнала». После нажатия Create Button кнопка создается (Рисунок 92).

Рисунок 92 – Кнопка «Данные журнала»

При нажатии на кнопку открывается отчет (Рисунок 93).

Рисунок 93 – Отчет «Данные журнала»

Интересной особенностью интерактивных отчетов является стандартная панель, которая создается по умолчанию при создании отчета (Рисунок 94).

Рисунок 94 – Панель в интерактивном отчете

С ее помощью можно произвести поиск данных, сортировку, фильтрацию, построить диаграмму по данным отчета, вызвать справку, перезапустить отчет, а так же выгрузить его (отправить на электронную почту, открыть в формате HTML – страницы или выгрузить в CSV файл).

Мной были созданы следующие отчеты:
- Информация о МЦ (Рисунок 95)

Рисунок 95 - Информация о МЦ

- Информация о контрагентах (Рисунок 96)

Рисунок 96 - Информация о контрагентах

- Данные журнала (Рисунок 97)

Рисунок 97 - Данные журнала

- Главный отчет, Остаток МЦ на складе (Рисунок 98)

Рисунок 98 - Главный отчет и Остаток МЦ на складе

3.5 Создание диаграммы

Для создания диаграммы в нижней части окна приложения я нажала кнопку Create. В следующем окне выбрала пункт New page (Рисунок 99).

Рисунок 99 – Выбор New page

Далее я нажала кнопку Next, и выбрала в открывшемся окне пункт Chart (Рисунок 100).

Рисунок 100 – Выбор пункта Chart (График)

Далее  в следующем окне я выбрала пункт Pie & Doughnut (Круговая диаграмма) (Рисунок 101).

Рисунок 101 - Пункт Pie & Doughnut

На следующем шаге я выбрала 3D Pie (Объемный график)           (Рисунок 102).

Рисунок 102 - Выбор 3D Pie

Следующее окно предполагает выбор атрибутов области. Здесь я задаю Page Name (Название страницы) - Диаграмма расчета цены партии. Остальные параметры устанавливаются по умолчанию (Рисунок 103).

Рисунок 103 – Выбор атрибутов области

Далее идет окно выбора опций вкладки. Здесь возможны 3 варианта: Do not use tabs(Не использовать вкладки),Use an existing tab set and create a new tab within the existing tab set(Использовать существующий набор вкладок и создать новую вкладку в существующем наборе вкладок), Use an existing tab set and reuse an existing tab within that tab set(Использовать существующий набор вкладок и снова использовать существующую вкладку в том наборе вкладок). Я выбрала третий  вариант, и выделила из списка уже созданную ранее вкладку (Рисунок 104).

Рисунок 104 – Выбор вкладок

Далее мне предлагается назвать диаграмму, для этого в поле Chart Title (Название диаграммы) я ввела «Диаграмма расчета цены партии товара», также задала цвет фона с помощью Background Color 1 (Цвет фона 1).

Еще я указала параметр, с помощью которого на диаграмме будут показываться мои рассчитанные значения, для этого в строках Show Hints (Показывать подсказки), Show Values (Показывать значения) я поставила галочки, с помощью параметра Show Legend (Показывать легенду) я выбрала расположение легенды, где будут отображаться подписи товаров (Рисунок 105).

Рисунок 105 – Выбор параметров диаграммы

После нажатия кнопки Next, появляется окно, в котором необходимо ввести SQL - запрос на создание диаграммы, либо воспользоваться диалоговым режимом создания запроса.

Для этого с помощью кнопки Build Query выбирается одна таблица, из которой нам нужно выбрать поля, которые будут представлены на диаграмме. Но в моем случае запрос составляется сложный, который связывает несколько таблиц, поэтому я составляю его на SQL (Рисунок 106).

Рисунок 106 - SQL-запрос на создание диаграммы

SELECT null, MC.NAIMENOVANIE, SUM(OBYEM_PARTII*CENA_ED_TOVARA) FROM MC INNER JOIN PARTIJA_MC ON MC.KOD_MC = PARTIJA_MC.KOD_MC group by MC.NAIMENOVANIE;

    Далее появляется окно подтверждения создания диаграммы (Рисунок 107).

Рисунок 107 - Подтверждение создания диаграммы

После нажатия кнопки Create выходит сообщение, что диаграмма успешно создана (Рисунок 108).

Рисунок 108 – Сообщение  «Диаграмма успешно создана»

После нажатия кнопки Run Page на экран выводится созданная мной диаграмма (Рисунок 109).

Рисунок 109 - Диаграмма расчета цены партии товара

На вкладку «Диаграмма» я также решила выгрузить перекрестный запрос. Для этого данный запрос создается с помощью View. Далее создается кнопка «Вывод перекрестного запроса» которая связывается с отчетом, созданным на основе перекрестного запроса (Рисунок 110).

Рисунок 110 – Вывод перекрестного запроса в виде отчета

3.6 Внесение данных в таблицы

Заполнять таблицы можно не только в диалоговом режиме, но и с использованием SQL команд. Однако я решила использовать первый способ, т.к. он для меня более понятный.

Для этого нажмем кнопку SQL Workshop, затем Object Browser. В левой части экрана выберем таблицу. Далее выберем вкладку Data и нажмем кнопку Query. В появившемся окне предлагается выбрать те столбцы, которые будут отражаться (поставив галочки напротив этих столбцов), и указать вид сортировки для столбцов, если это необходимо (Рисунок 111).

Рисунок 111 – Выбор полей для заполнения данными

В открывшемся окне я добавила данные о контрагенте и нажала кнопку Create and Create Another (Создать и создать другую) (Рисунок 112).

Рисунок 112 – Ввод данных

После того как данные успешно добавлены в таблицу система выдает следующее сообщение (Рисунок 113).

Рисунок 113 – Сообщение «Строка создалась»

Далее я таким же способом добавила остальные данные в таблицу (Рисунок 114).

Рисунок 114 – Таблица KONTRAGENTI с заполненными данными

Также я создала остальные таблицы и заполнила их данными. (Рисунок 115- 121).

Рисунок 115– Таблица ED_IZM

Рисунок 116Таблица JURNAL_SHAPKA

Рисунок 117 – Таблица JURNAL_TABL_CHAST

Рисунок 118 – Таблица MC

Рисунок 119 - Таблица PARTIJA_MC

Рисунок 120 – Таблица VID_OPERACII

Рисунок 121 – Таблица GRUPPA_MC

3.7 Создание главной страницы приложения

Главная страница  - это страница, которую будет видеть пользователь при открытии приложения.

Для ее создания необходимо нажать кнопку Create в нижней части приложения и выбрать создание региона(Region on this page) (Рисунок 122).

Рисунок 122 – Выбор пункта Region on this page

Далее определяем тип региона как HTML (Рисунок 123).

Рисунок 123 - Выбор типа региона

Следующим шагом выбираем тип HTML страницы. Нам нужна обычная страница (Рисунок 124).

Рисунок 124 - Выбор типа HTML страницы

Далее мы определяем имя нашей страницы, а остальные параметры оставляем неизменными (Рисунок 125).

Рисунок 125 - Определение имени страницы

Затем записываем наш текст, который будет отображаться на главной странице в HTML формате (Рисунок 126).

Рисунок 126 - Ввод текста, отображаемого на главной странице

После ввода текста нажимаем Create Region и на нашей главной странице приложения появляется введенная нами информация (Рисунок 127).

Рисунок 127 – Главная страница

4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

База данных предназначена для накопления и анализа данных о результатах учета материальных ценностей на складе, хранит справочную информацию о материальных ценностях и их группах, информацию о поставщиках и материально - ответственных лицах.

Для начала работы с Базой Данных необходимо с помощью любого доступного Вам браузера  пройти по ссылке:

http://apex.oracle.com/pls/apex/f?p=68861:LOGIN_DESKTOP:9490339991821

После чего система запросит логин и пароль (Рисунок 128).

Рисунок 128 - Идентификация пользователя

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

Рисунок 129 - Главная страница приложения

В верхней части страницы расположена панель вкладок (Рисунок 130), перемещаясь по вкладкам, Вы можете выполнить необходимые операции, которые будут рассмотрены ниже.

Рисунок 130 – Вкладки

Панель вкладок доступна из любого места приложения.

Вернуться на главную страницу приложения можно вернуться, нажав на вкладку Home или на надпись «БД Ресторан» в левом верхнем углу.

 Вкладка «Диаграмма» (Рисунок 131).

Представляет собой круговую диаграмму, которая показывает цену партий МЦ на складе.

Наименование МЦ можно просмотреть в легенде диаграммы в верхней части страницы, а также с помощью наведения курсора на сектор.

Рисунок 131 – Диаграмма расчета цены партии товара

Также на данной вкладке можно просмотреть перекрестный запрос отражающий объем партий, нажав на кнопку «Вывод Перекрестного Запроса» (Рисунок 132).

Рисунок 132 – Перекрестный запрос

Если пользователь хочет вернуться к просмотру диаграммы, то на форме предусмотрена кнопка «Назад».

 Вкладка «Добавление МЦ» (Рисунок 133).

Рисунок 133 – Вкладка «Добавление МЦ»

На данной странице располагается информация о единицах измерения. Для того чтобы добавить новую единицу измерения необходимо нажать на кнопку «Создать». После ввода данных нужно также нажать на кнопку «Создать» (Рисунок 134).

Рисунок 134 – Ввод новой единицы измерения

Чтобы просмотреть МЦ которые связаны с данной единицей измерения необходимо нажать на значок, который находится слева от единицы измерения. В открывшемся окне можно изменить данные о уже существующих МЦ, добавить новые МЦ, а также добавить группу МЦ. (Рисунок 135).

Рисунок 135 – Информация о созданных МЦ

С помощью кнопки «Добавить Группу МЦ» мы попадем в окно, где находится форма, предназначенная для изменения, удаления и добавления групп МЦ. Для добавления данных необходимо нажать на кнопку «Добавить строку», для удаления – кнопку «Удалить», для отмены операций – кнопку «Отменить», после ввода данных - на кнопку «Сохранить» (Рисунок 136).

Рисунок 136 – Добавление группы МЦ

Для создания новой МЦ необходимо перейти с помощью кнопки «Создать» на страницу, где находится форма для ввода данных о МЦ. После добавления записи необходимо нажать на кнопку «Создать» (Рисунок 137).

Рисунок 137 – Добавление новой МЦ

Для просмотра отчета о МЦ необходимо нажать на кнопку «Отчет» которая находится на первоначальной странице, при нажатии вкладки. (Рисунок 138).

Рисунок 138 – Отчет «Информация о МЦ»

 Вкладка «Добавление контрагентов» (Рисунок 139).

На данной вкладке находится информация о контрагентах. Здесь можно добавить нового контрагента с помощью кнопки «»Добавить строку» (после ввода данных нажать кнопку «Отобразить»), а также удалить контрагента, поставив галочку напротив строки и нажав кнопку «Удалить», для отмены операций нажмем кнопку «Отменить».

Рисунок 139 – Форма добавления информации о контрагенте

Для просмотра информации о контрагентах в виде отчета, необходимо нажать на кнопку «Отчет» (Рисунок 140).

Рисунок140 – Отчет «Информация о контрагентах»

Для поиска необходимого  контрагента можно воспользоваться строкой поиска, расположенной над таблицей (ввести в нее наименование контрагента и в табличной части будет отображена  вся необходимая информация) (Рисунок 141).

Рисунок 141 – Фильтр по названию контрагента

Меню Actions позволяет выполнить действия  из выпадающего списка: сортировку, фильтрацию, построение диаграммы по данным отчета, вызов справки, перезапустить отчет.

Данный отчет можно отправить по электронной почте, выгрузить в CSV файл либо открыть в отдельной страничке браузера, для этого необходимо в меню Actions выбрать пункт Download (Рисунок 142).

Рисунок 142 - Выгрузка отчета

 Вкладка «Добавление данных в журнал» (Рисунок 143).

Рисунок 143 - Вкладка «Добавление данных в журнал»

На данной вкладке расположена форма, в которой находится информация о материально-ответственных лицах и дате регистрации МЦ на складе. Для добавления записей необходимо нажать на кнопку «Создать».

Для ввода даты предусмотрен встроенный календарь , нажав на который пользователь может с легкостью выбрать необходимую дату. После ввода значений необходимо нажать на кнопку «Создать» (Рисунок 144).

Рисунок 144 – Добавление даты записи и данных о МОЛ

Для редактирования уже существующих данных и ввода информации о МЦ (количество, партия, контрагент и т.д.) необходимо нажать на значок (Рисунок 145).

Рисунок 145 – Форма для ввода и редактирования данных журнала

С помощью кнопки «Создать» можно ввести данные в журнал. Из ниспадающего меню выбираются необходимые значения (аналог Мастера подстановки в Access), при выборе вида операции галочкой выбирается необходимый вариант. После ввода значений нажимаем на кнопку «Создать» (Рисунок 146).

Рисунок 146 – Ввод данных в журнал

Для просмотра данных журнала в виде отчета необходимо нажать на кнопку «Данные Журнала». Здесь также предусмотрена строка поиска (Рисунок 147).

Рисунок 147 – Отчет «Данные Журнала»

 Вкладка «Добавление инф-ии о партии» (Рисунок 148).

Рисунок 148 - Вкладка «Добавление инф-ии о партии»

На данной вкладке находится информация о партиях МЦ. Для ввода новых значений предусмотрена кнопка «Добавить строку», после ввода данных необходимо нажать кнопку «Отобразить». Для удаления записей нужно выделить необходимую строку при помощи галочки и нажать на кнопку «Удалить», для отмены операций необходимо нажать кнопку «Отменить» (Рисунок 149).

Рисунок 149 – Ввод информации о партиях МЦ

 Вкладка «Главный отчет» (Рисунок 150).

Рисунок 150 – Вкладка «Главный отчет»

На данной вкладке располагается главный отчет, который вмещает в себя самую важную информацию о МЦ, а также отчет «Остаток МЦ на складе».

 Вкладка «О программе» (Рисунок 151).

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

Рисунок 151 – Вкладка «О программе»

Чтобы создать руководство пользователя, необходимо создать HTML-  страницу. Для этого нажмем на кнопку Create в нижней части окна приложения. Далее выберем Region on this page, потом страницу HTML (Рисунок 152).

Рисунок 152 – Выбор пункта HTML

Далее предлагается ввести название страницы, а в следующем окне – вставить ссылку на файл нашего руководства пользователя сохраненного с расширением .pdf (Рисунок 153).

Рисунок 153 – Ссылка на файл руководства пользователя с расширением .pdf

Далее необходимо нажать кнопку Run Page, и информация удобная для использования появится на вкладке.

Заключение

В соответствии с заданием на курсовой проект была разработана база данных для учёта материальных ценностей в ресторане, которая позволяет автоматизировать обработку информации. В базе данных хранятся данные о материальных ценностях, поставщиках, материально – ответственных лицах, данные о движении материальных ценностей, а так же формируются сопутствующие документы в виде отчетов.

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

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

Список литературы

  1.  Oracle для профессионалов. Пер. с англ./Том Кайт – СПб.: ООО ДиаСофтЮП»,2003.-672 с.
  2.  Скотт Урман, Рон Хардман, Майкл МакЛафлин . Oracle Database 10g: PL/SQL Programming – М.: Лори, 2010. – 816 с.
  3.  С.Смирнов "Работаем с Oracle". Учебное пособие.
    (М.: "Гелиос", 1998, 318 стр.)
  4.  "ORACLE 8. Программирование на языке PL/SQL".
    (М.: "Лори", 1999, 608 стр.); [оригинал: Scott Urman "Oracle8 PL/SQL Programming" Osborne/McGraw-Hill, 1997]
  5.  Эффективное проектирование приложений Oracle: Томас Кайт — Москва, Лори, 2008 г.- 656 с.


Приложение А. ДПД

Рисунок А1 – Диаграмма потоков данных 0 уровня иерархии


Рисунок А2 – Диаграмма потоков данных 1 уровня иерархии

 

Рисунок А3 – Диаграмма потоков данных 2 уровня иерархии для процесса А1

Рисунок А4 – Диаграмма потоков данных 2 уровня иерархии для процесса А2

Рисунок А5 – Диаграмма потоков данных 2 уровня иерархии для процесса А3

Рисунок А6 – Диаграмма потоков данных 2 уровня иерархии для процесса А4

Приложение Б. СХЕМА ДАННЫХ

Рисунок Б1 – Схема структуры БД, полученная в среде MS Visio

Приложение В. ТЕКСТ SQL – ЗАПРОСОВ

Текст SQL таблицы KONTRAGENTI

CREATE TABLE  "KONTRAGENTI"

  ( "NAZVANIE" CHAR(200) NOT NULL ENABLE,

"ADRES" CHAR(200) NOT NULL ENABLE,

"TELEFON" NUMBER(20,0) NOT NULL ENABLE,

"BANK_REKV" CHAR(100),

"KOD_K" NUMBER,

 CONSTRAINT "KONTRAGENTI_PK" PRIMARY KEY ("KOD_K") ENABLE,

 CONSTRAINT "KONTRAGENTI_UK1" UNIQUE ("ADRES", "TELEFON", "BANK_REKV", "KOD_K") ENABLE

  )

/

CREATE OR REPLACE TRIGGER  "BI_KONTRAGENTI"

 before insert on "KONTRAGENTI"               

 for each row  

begin   

 if :NEW."KOD_K" is null then

   select "KONTRAGENTI_SEQ".nextval into :NEW."KOD_K" from sys.dual;

 end if;

end;

/

ALTER TRIGGER  "BI_KONTRAGENTI" ENABLE

/

Текст SQL таблицы JURNAL_SHAPKA

CREATE TABLE  "JURNAL_SHAPKA"

  ( "DATA_ZAPISI" DATE NOT NULL ENABLE,

"MOL" CHAR(200) NOT NULL ENABLE,

"KOD_ZAPISI" NUMBER,

 CONSTRAINT "JURNAL_SHAPKA1_PK" PRIMARY KEY ("KOD_ZAPISI") ENABLE

  )

/

CREATE OR REPLACE TRIGGER  "BI_JURNAL_SHAPKA"

 before insert on "JURNAL_SHAPKA"               

 for each row  

begin   

 if :NEW."KOD_ZAPISI" is null then

   select "JURNAL_SHAPKA1_SEQ".nextval into :NEW."KOD_ZAPISI" from sys.dual;

 end if;

end;

/

ALTER TRIGGER  "BI_JURNAL_SHAPKA" ENABLE

/

Текст SQL таблицы MC

CREATE TABLE  "MC"

  ( "NAIMENOVANIE" CHAR(200) NOT NULL ENABLE,

"OPISANIE" CHAR(200),  

"KOD_MC" NUMBER NOT NULL ENABLE,

"KOD_ED" NUMBER NOT NULL ENABLE,

"KOD_GRUPPY" NUMBER NOT NULL ENABLE,

 CONSTRAINT "MC_PK" PRIMARY KEY ("KOD_MC") ENABLE

  )

/

CREATE OR REPLACE TRIGGER  "BI_MC"

 before insert on "MC"               

 for each row  

begin   

 if :NEW."KOD_MC" is null then

   select "MC1_SEQ".nextval into :NEW."KOD_MC" from sys.dual;

 end if;

end;

/

ALTER TRIGGER  "BI_MC" ENABLE

/

Текст SQL таблицы ED_IZM

CREATE TABLE  "ED_IZM"

  ( "NAZVANIE" CHAR(200) NOT NULL ENABLE,

"KOD_ED" NUMBER NOT NULL ENABLE,

 CONSTRAINT "ED_IZM_PK" PRIMARY KEY ("KOD_ED") ENABLE

  )

/

CREATE OR REPLACE TRIGGER  "BI_ED_IZM"

 before insert on "ED_IZM"               

 for each row  

begin   

 if :NEW."KOD_ED" is null then

   select "ED_IZM_SEQ".nextval into :NEW."KOD_ED" from sys.dual;

 end if;

end;

/

ALTER TRIGGER  "BI_ED_IZM" ENABLE

/

Текст SQL таблицы GRUPPA_MC

CREATE TABLE  "GRUPPA_MC"

  ( "KOD_GRUPPY" NUMBER NOT NULL ENABLE,

"NAZVANIE_GRUPPY" CHAR(20) NOT NULL ENABLE,

 CONSTRAINT "GRUPPA_MC_PK" PRIMARY KEY ("KOD_GRUPPY") ENABLE

  )

/

CREATE OR REPLACE TRIGGER  "BI_GRUPPA_MC"

 before insert on "GRUPPA_MC"               

 for each row  

begin   

 if :NEW."KOD_GRUPPY" is null then

   select "GRUPPA_MC_1SEQ".nextval into :NEW."KOD_GRUPPY" from sys.dual;

 end if;

end;

/

ALTER TRIGGER  "BI_GRUPPA_MC" ENABLE

/

Текст SQL таблицы VID_OPERACII

CREATE TABLE  "VID_OPERACII"

  ( "NAZVANIE" CHAR(20) NOT NULL ENABLE,

"KOD_VIDA" NUMBER NOT NULL ENABLE,

 CONSTRAINT "VID_OPERACII_PK" PRIMARY KEY ("KOD_VIDA") ENABLE

  )

/

CREATE OR REPLACE TRIGGER  "BI_VID_OPERACII"

 before insert on "VID_OPERACII"               

 for each row  

begin   

 if :NEW."KOD_VIDA" is null then

   select "VID_OPERACII_SEQ".nextval into :NEW."KOD_VIDA" from sys.dual;

 end if;

end;

/

ALTER TRIGGER  "BI_VID_OPERACII" ENABLE

/

Текст SQL таблицы PARTIJA_MC

CREATE TABLE  "PARTIJA_MC"

  ( "DATA-IZGOTOVLENIJA" DATE NOT NULL ENABLE,

"DATA_GODNOSTI" DATE NOT NULL ENABLE,

"OBYEM_PARTII" NUMBER,

"CENA_ED_TOVARA" NUMBER(6,0) NOT NULL ENABLE,

"KOD_PARTII_MC" NUMBER NOT NULL ENABLE,

"KOD_MC" NUMBER NOT NULL ENABLE,

 CONSTRAINT "PARTIJA_MC_PK" PRIMARY KEY ("KOD_PARTII_MC") ENABLE

  )

/

CREATE OR REPLACE TRIGGER  "BI_PARTIJA_MC"

 before insert on "PARTIJA_MC"               

 for each row  

begin   

 if :NEW."KOD_PARTII_MC" is null then

   select "PARTIJA_MC_SEQ".nextval into :NEW."KOD_PARTII_MC" from sys.dual;

 end if;

end;

/

ALTER TRIGGER  "BI_PARTIJA_MC" ENABLE

/

Текст SQL таблицы JURNAL_TABL_CHAST

CREATE TABLE  "JURNAL_TABL_CHAST"

  ( "KOLCHESTVO" NUMBER,

"KOD_PARTII_MC" NUMBER NOT NULL ENABLE,

"KOD_VIDA" NUMBER NOT NULL ENABLE,

"KOD_ZAPISI" NUMBER NOT NULL ENABLE,

"KOD_K" NUMBER NOT NULL ENABLE

  )

/

View для промежуточного запроса

CREATE OR REPLACE FORCE VIEW  "PEREKR" ("NAZVANIE_GRUPPY", "KOLICHESTVO", "DATA_ZAPISI") AS

 select GRUPPA_MC.NAZVANIE_GRUPPY as NAZVANIE_GRUPPY,

   JURNAL_TABL_CHAST.KOLICHESTVO as KOLICHESTVO,

   Extract(Month from JURNAL_SHAPKA.DATA_ZAPISI) as DATA_ZAPISI

from MC MC,

   PARTIJA_MC PARTIJA_MC,

   JURNAL_TABL_CHAST JURNAL_TABL_CHAST,

   JURNAL_SHAPKA JURNAL_SHAPKA,

   GRUPPA_MC GRUPPA_MC

where JURNAL_TABL_CHAST.KOD_ZAPISI=JURNAL_SHAPKA.KOD_ZAPISI

   and MC.KOD_MC=PARTIJA_MC.KOD_MC

   and MC.KOD_GRUPPY=GRUPPA_MC.KOD_GRUPPY

   and JURNAL_TABL_CHAST.KOD_PARTII_MC=PARTIJA_MC.KOD_PARTII_MC

/

View для перекрестного запроса

CREATE OR REPLACE FORCE VIEW  "PEREKR_ZAPROS" ("NAZVANIE_GRUPPY", "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь") AS

 select "NAZVANIE_GRUPPY","Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь" from (

select NAZVANIE_GRUPPY, DATA_ZAPISI, KOLICHESTVO from PEREKR)

pivot (

SUM (KOLICHESTVO)

for DATA_ZAPISI in ('1' as "Январь",'2' as "Февраль",'3' as "Март",'4' as "Апрель",'5' as "Май",'6' as "Июнь",'7' as "Июль",'8' as "Август",'9' as "Сентябрь",'10' as "Октябрь",'11' as "Ноябрь",'12' as "Декабрь")

)

order by NAZVANIE_GRUPPY

/

SQL для диаграммы

SELECT null, MC.NAIMENOVANIE, SUM(OBYEM_PARTII*CENA_ED_TOVARA)

FROM MC INNER JOIN PARTIJA_MC ON MC.KOD_MC = PARTIJA_MC.KOD_MC group by MC.NAIMENOVANIE;

View для главного отчета

CREATE OR REPLACE FORCE VIEW  "GL.FORM" ("NAIMENOVANIE", "KOLICHESTVO", "NAZVANIE2", "CENA_ED_TOVARA", "NAZVANIE", "MOL", "NAZVANIE_1") AS

 select MC.NAIMENOVANIE as NAIMENOVANIE,

   JURNAL_TABL_CHAST.KOLICHESTVO as KOLICHESTVO,

   ED_IZM.NAZVANIE as NAZVANIE2,

   PARTIJA_MC.CENA_ED_TOVARA as CENA_ED_TOVARA,

   VID_OPERACII.NAZVANIE as NAZVANIE,

   JURNAL_SHAPKA.MOL as MOL,

   KONTRAGENTI.NAZVANIE as NAZVANIE_1

from GRUPPA_MC GRUPPA_MC,

   JURNAL_TABL_CHAST JURNAL_TABL_CHAST,

   PARTIJA_MC PARTIJA_MC,

   MC MC,

   VID_OPERACII VID_OPERACII,

   ED_IZM ED_IZM,

   JURNAL_SHAPKA JURNAL_SHAPKA,

   KONTRAGENTI KONTRAGENTI

where ED_IZM.KOD_ED=MC.KOD_ED

   and JURNAL_TABL_CHAST.KOD_K=KONTRAGENTI.KOD_K

   and JURNAL_TABL_CHAST.KOD_PARTII_MC=PARTIJA_MC.KOD_PARTII_MC

   and JURNAL_TABL_CHAST.KOD_ZAPISI=JURNAL_SHAPKA.KOD_ZAPISI

   and MC.KOD_GRUPPY=GRUPPA_MC.KOD_GRUPPY

   and MC.KOD_MC=PARTIJA_MC.KOD_MC

   and VID_OPERACII.KOD_VIDA=JURNAL_TABL_CHAST.KOD_VIDA

/

View для отчета «Информация о МЦ»

CREATE OR REPLACE FORCE VIEW  "ЗАРОС_ДЛЯ_ОТЧЕТА" ("NAIMENOVANIE", "OPISANIE", "NAZVANIE_GRUPPY", "NAZVANIE") AS

 select MC.NAIMENOVANIE as NAIMENOVANIE,

   MC.OPISANIE as OPISANIE,

  GRUPPA_MC.NAZVANIE_GRUPPY as NAZVANIE_GRUPPY,

   ED_IZM.NAZVANIE as NAZVANIE

from GRUPPA_MC GRUPPA_MC,

   MC MC,

   ED_IZM ED_IZM

where ED_IZM.KOD_ED=MC.KOD_ED

   and MC.KOD_GRUPPY=GRUPPA_MC.KOD_GRUPPY

/

View для отчета «Остаток МЦ на складе»

CREATE OR REPLACE FORCE VIEW  "RAZN4" ("NAIMENOVANIE", "OSTATOK") AS

 select RAZN2.NAIMENOVANIE as NAIMENOVANIE,

   RAZN2.KOLICHESTVO-razn3.KOLICHESTVO as OSTATOK

from RAZN2 left join RAZN3 on RAZN2.NAIMENOVANIE=RAZN3.NAIMENOVANIE

/

Приложение Г. СХЕМА РАБОТЫ СИСТЕМЫ

  

Лист

Изм

Разработка базы данных для учета материальных ценностей в ресторане

Схема работы программы

Схема программы

ПГТА, гр. 09Э

КП-080801-36-11-91 01

Ли

тера

Утвердил

Н. контр

Реценз.

 

Т. контр

Проверил

Шигина  Н.А.

Разработ.

Семячкина  И. А.

№ докум.

Подп.

Дата

Масса

  

  

Лист 1

Курсовой проект

Листов

Масштаб



 

А также другие работы, которые могут Вас заинтересовать

81963. Экономическая диагностика предприятия 1.33 MB
  Цель экономической диагностики предприятия – оценка финансового состояния и динамики развития хозяйствующего субъекта. Экспресс диагностику рекомендуется осуществить методом оценки финансовых коэффициентов.
81964. Основы системы социальной защиты населения в России. Структура социальной защиты населения на примере Туринского района 43 KB
  Сложившаяся ситуация требует от государства и неправительственных организаций общественных объединений принятия адекватных мер прежде всего в сфере развития системы социальной защиты населения и обеспечения социальной безопасности.
81965. ПРЕС-КОНФЕРЕНЦІЯ «ВОДА – НАЙВАЖЛИВІШИЙ МІНЕРАЛ» 1.29 MB
  Мета: Розширити і збагатити знання учнів про воду, дати уявлення про значення води на планеті Земля, закріпити знання про властивості води та її народногосподарське призначення, в тому числі в рідному краї. Виховувати в учнів бережне ставлення до води та бажання зберегти запаси прісної води чистими для себе і майбутніх поколінь.
81966. Вода. Кругообіг води 248 KB
  Мета: На основі вивченого матеріалу систематизувати знання учнів про властивості води, стани води, кругообіг води, значення води в природі і для людей; формувати вміння застосовувати засвоєні знання. Розвивати вміння аналізувати природні явища, робити висновки.
81967. Земля – голуба планета. Водойми України 59.5 KB
  Повторити і розширити поняття про водойми України їх різноманітність джерело річка – її будова складові частини; озеро болото море значення та охорону; продовжувати формувати вміння учнів працювати з фізичною картою зошитом підручником; розвивати уміння логічно мислити працювати у групі...
81968. Практичне заняття «Вогонь – друг, вогонь – ворог» 69 KB
  Мета: продовжити формувати уявлення про причини виникнення пожежі в побуті та її наслідки; вчити учнів правильно діяти у випадку виникнен ня пожежі в сусідів чи на інших об’єктах; розвивати навички самозахисту; виховувати розсудливість, почуття відповідальності за свої вчинки.
81969. Хай вічно горить вогонь пам’яті 42.5 KB
  Яка б річниця визволення нашої країни від німецько-фашистських загарбників не наступала, думка про те, що настала тиша, прийшов довгожданий, вистражданий, оплачений дорогою ціною мир, бентежить душу. Зараз ми послухаємо у грамзаписі спогади учасників боїв.
81970. Вогонь — друг, вогонь — ворог (Сценарій виступу) 35.5 KB
  Через необережне поводження з вогнем щорік гинуло все більше і більше людей. Вогонь — ворог! Він залишив свої криваві сліди в історії всіх епох і народів. Тисячі міст і сіл зникли в полум’ї вогню. Безцінні твори попередніх поколінь перетворились на порох. Вогонь згубив мільйони людей.
81971. УРОК ВНЕКЛАССНОГО ЧТЕНИЯ. ИГРА «ЧТО? ГДЕ? КОГДА?» 48.5 KB
  Цели урока: проверить знания учеников, развивать логическое мышление, привлечь интерес к интеллектуальным играм, воспитывать познавательный интерес, стремление к победе. Оборудование урока: вращающийся волчек со стрелкой, круг с цифрами, десять конвертов с вопросами...