Проектирование базы данных для фотоателье

Создание статических хранимых процедур и функций для увеличения зарплаты. Функции нахождения зарплаты сотрудника по указанной фамилии. Создание процедуры для начисления премии. Налаживание клиент-серверного приложения с пользовательским web-интерфейсом.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 14.12.2016
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Проектирование базы данных для фотоателье

Содержание

Введение

1. Построение модели БД

2. Создание статических хранимых процедур и функций

2.1 Создание хранимой процедуры для увеличения зарплаты

2.2 Создание функции для нахождения зарплаты сотрудника по указанной фамилии

3. Создание динамических процедур и функций

3.1 Создание процедуры для начисления премии

3.2 Создание функции для нахождения годовой зарплаты сотрудника по указанной фамилии

4. Триггеры базы данных

4.1 Создание операторного триггера

4.2 Создание строкового триггера

4.3 Создание системного триггера

5. Создание клиент-серверного приложения с пользовательским web-интерфейсом

Заключение

Список использованных источников

Введение

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

Современная СУБД Oracle это мощный программный комплекс, позволяющий создавать приложения любой степени сложности. Главным достоинством является - чрезвычайная мощность и гибкость.

В курсовой работе производилось проектирование базы данных для фотоателье в СУБД Oracle. Таким образом, исследование проводимые в рамках курсовой работы являются актуальными и могут быть использованы на практике для проектирования БД реальных объектов.

Целью курсовой работы является проектирование базы данных для фотоателье в среде Oracle.

Для достижения поставленной цели решаются следующие задачи:

1) Построение модели базы данных;

2) Создание статических и динамических хранимых процедур, и функций;

3) Создание операторного, строкового и системного триггеров;

4) Разработка клиент-серверного Web-приложения.

В курсовой работе проектируется БД для предметной области "Фотоателье", для которой создается Web-приложение по средствам Application Builder в APEX.

1. Построение модели БД

Проектирование базы данных посвящено деятельности фотоателье.

Назначение проектируемой БД - решение следующих функциональных задач:

1) Хранение информации о клиентах, сотрудниках, должностях, заказах, офисах и информации об услугах;

2) Обработка информации в соответствии с требованием объектов предметной области;

3) Вывод информации по заданным критериям.

Структура Базы данных

БД состоит из 6 связных между собой таблиц, представленных на рисунке 1.1.

Рисунок 1.1 - Схема БД

В таблице Сотрудники хранится информация о сотрудниках, работающих в фотоателье; Офисы содержит информацию об офисах; Клиенты хранит информацию о клиентах фотоателье; Заказы - о заказанных услугах; Должности - о должностях, занимаемых сотрудниками; в Услуги содержится информация об услугах, оказываемых в фотоателье .

На следующих рисунках отражена информация, хранящаяся в базе данных.

Рисунок 1.2 - Таблица Сотрудники

Рисунок 1.3 - Таблица Офисы

Рисунок 1.4 - Таблица Клиенты

Рисунок 1.5 - Таблица Заказы

Рисунок 1.7 - Таблица Услуги

Рисунок 1.6 - Таблица Должности

2. Создание статических хранимых процедур и функций

2.1 Создание хранимой процедуры для увеличения зарплаты

Процедура выполняет увеличение зарплаты на 70 тем сотрудникам, которые имеют зарплату меньше указанной. Программный код имеет вид:

create or replace procedure update_salary(min_salary in number)

is

begin

update Сотрудники set salary = salary+70

where salary<min_salary;

end update_salary;

-----------------

begin

update_salary(500);

end;

Результат работы программы приведен на рисунках 2.1-2.2.

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

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

2.2 Создание функции для нахождения зарплаты сотрудника по указанной фамилии

Функция производит вывод годовой зарплаты сотрудника по указанной фамилии.

Программный код имеет вид:

CREATE OR REPLACE FUNCTION full_salary(lname_sotr IN VARCHAR2) RETURN NUMBER IS

new_salary NUMBER;

BEGIN

select(salary*12+(salary*12*0.01 * nvl(kom,0)))into new_salary

from Сотрудники

where lname_sotr = lname;

return new_salary;

END;

Результат выполнения программы показан на рисунке 2.3

Рисунок 2.3 - Результат выполнения функции

3. Создание динамических процедур и функций

"Динамическим PL/SQL" называют целые блоки кода PL/SQL, которые строятся динамически, а затем компилируются и выполняются. Конструирование и динамическое выполнение обеспечивает невероятную гибкость. Появляется возможность создавать обобщенный код с широким спектром применения.

Процедуры и функции, а также пакет функций созданные в разделе 2 в настоящем разделе реализованы по средствам динамического SQL.

3.1 Создание процедуры для начисления премии

Процедура выполняет увеличение зарплаты сотрудникам, имеющим зарплату меньше заданной, на 70 у.е. (минимальная зарплата - 600)

Программный код имеет вид:

create or replace procedure update_salary(min_salary in number)

is

begin

execute immediate 'update Сотрудники set salary = salary+70

where salary<:min_salary'

using min_salary;

end update_salary;

Результат выполнения программы приведен на рисунках 3.1-3.2.

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

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

3.2 Создание функции для нахождения годовой зарплаты сотрудника по указанной фамилии

Функция производит вывод годовой зарплаты сотрудника по указанной фамилии.

Программный код имеет вид:

CREATE OR REPLACE FUNCTION full_salary(lname_sotr IN VARCHAR2) RETURN NUMBER IS

sql_stmt varchar2(200);

new_salary NUMBER;

BEGIN

sql_stmt:= 'select(salary*12+(salary*12*0.01 * nvl(kom,0)))

from Сотрудники

where lname = :lname_sotr';

execute immediate sql_stmt into new_salary using lname_sotr;

return new_salary;

END;

Результат выполнения программы показан на рисунке 3.3.

Рисунок 3.3 - Результат выполнения функции

4. Триггеры базы данных

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

1) Проверка вносимых в таблицы изменений;

2) Автоматизация сопровождения базы данных;

3) Точная настройка ограничений на выполнение административных операций.

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

4.1 Создание операторного триггера

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

Программный код имеет вид:

CREATE OR REPLACE TRIGGER trig11

BEFORE UPDATE OR DELETE ON Должности

BEGIN

IF UPDATING THEN

INSERT INTO TRIGTABLE11(id,datetime,c_user,operation)

values(trigTable11_seq.nextval,current_timestamp,user,'UPDATE');

ELSE

INSERT INTO TRIGTABLE11(id,datetime,c_user,operation)

values(trigTable11_seq.nextval,current_timestamp,user,'DELETE');

END IF;

END;

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

Рисунок 4.1 - Вспомогательная таблица

4.2 Создание строкового триггера

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

Программный код имеет вид:

CREATE TABLE trigTable2222(

Id int primary key not null,

datetime TIMESTAMP,

id_pfrent NUMBER,

OldRent NUMBER,

NewRent Number);

CREATE SEQUENCE trigTable2222_seq;

CREATE OR REPLACE TRIGGER trig2222

AFTER UPDATE ON Услуги

FOR EACH ROW

WHEN (OLD.S_NO!=NEW.S_NO)

BEGIN

INSERT INTO TRIGTABLE2222(id,datetime,id_pfrent,oldrent,newrent)

values(trigTable2222_seq.nextval,current_timestamp,:NEW.ID_ZAKAZ,:OLD.S_NO,:NEW.S_NO);

END;

Результат срабатывания триггера после изменения информации о бронировании появляется во вспомогательной таблице, представленной на рисунке 4.2.

Рисунок 4.2 - Вспомогательная таблица

4.3 Создание системного триггера

Триггер фиксирует в отдельно организованной таблице информацию о пользователях и объектах, структуру которых создают.

Программный код имеет вид:

CREATE OR REPLACE TRIGGER tr3

AFTER CREATE ON schema

BEGIN

INSERT INTO tr3table VALUES(USER, SYSDATE, 'CREATE');

END tr3;

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

Рисунок 4.3 - Вспомогательная таблица

5. Создание клиент-серверного приложения с пользовательским web-интерфейсом

Разработано клиент-серверное приложение для БД "Фотоателье" по средствам Application Builder.

Была создана главная страница приложения с ссылками в виде иконок на другие страницы. Также добавлено название приложения и изменена тема приложения. Результат представлен на рисунке 5.1.

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

Была осуществлена связь между двумя таблицами, таблица "Сотрудники" и таблица "Услуги". Также добавлен столбец, в котором высчитывается заработная плата сотрудников за год. Результат показан на рисунке 5.2.

Рисунок 5.2 - Связывание двух таблиц

Было выполнено соединение страниц "Сотрудники" и "Создать/Редактировать Сотрудника" при помощи создания кнопки "Создать" на отчете Сотрудники. Переход на страницу "Создать/Редактировать Сотрудника" показан на рисунке 5.3.

Рисунок 5.3 - Страница "Создать/Редактировать Сотрудника"

Был создан параметризованный отчет Сотрудники. Результат создания представлен на рисунке 5.4.

Рисунок 5.4 - Параметризованный отчет Сотрудники

Также была создана "Главная/Детальная" форма (рисунок 5.5).

Рисунок 5.5 - "Главная /Детальная" форма

Создание формы-отчета для таблицы "Офисы" отображено на рисунке 5.6.

Рисунок 5.6 - "Создать/Редактировать офис"

Табличная форма позволяет добавлять, редактировать и удалять сразу несколько записей. Результат отображен на рисунке 5.7.

Рисунок 5.7 - Табличная форма "Сотрудники"

Отображение содержимого столбца "URL_ADRESS" в виде HTML ссылки(рисунок 5.8).

Рисунок 5.8 - Столбец "URL_ADRESS" в виде HTML ссылки

Создание и использование выпадающих списков выбора продемонстрировано на рисунке 5.9.

Рисунок 5.9 - Выпадающий список выбора

Соединение отчетов "Офисы" и "Сотрудники" (рисунок 5.10).

Рисунок 5.10 - Соединение двух отчетов

Создание кнопки-флажка в виде элемента на форме представлено на рисунке 5.11.

Рисунок 5.11 - Создание кнопки-флажка

Заключение

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

В приложении Application Builder было разработано клиент-серверное приложение с пользовательским Web-интерфейсом. Создана главная страница приложения с подчиненными страницами-отчетами и формами, была выполнена доработка пользовательского интерфейса.

Таким образом, все поставленные в курсовой работе задачи были выполнены. Результаты работы могут быть применены на практике для анализа реальных объектов.

Список использованных источников

1. Урман, С. Oracle9i. Программирование на языке PL/SQL / С. Урман. - Лори, 2005г., 528с.

2. Дейт, К. Дж. Введение в системы баз данных / К. Дж. Дейт. - 8-е изд. - М.: Вильямс, 2005. - 1328 с.

3. Гурвиц, Н. А. Разработка реального приложения в среде клиент-сервер / Н. А. Гурвиц. - Хабаровск: ДВГУПС, 2005. - 1328 с.

4. Марков, А. С. Базы данных: введение в теорию и методологию: учебник для вузов / А. С. Марков, К. Ю. Лисовский. - М.: Финансы и статистика, 2004. - 544 с.

5. Фуфаев, Э. В. Базы данных / Э. В. Фуфаев, Д. Э. Фуфаев. - М.: Академия, 2007. - 321 с.

6. Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Т. Коннолли, Т. Бегг. - 3-е изд. - М.: Вильямс, 2003. - 1436 с.

7. Астахова, И. Ф. SQL в примерах и задачах : учеб. пособие / И. Ф. Астахова, А. П. Толстобров, В. М. Мельников. - Минск: Новое знание, 2002. - 502 с.

8. Кузин, А. В. Базы данных / А. В. Кузин, С. В. Левонисова. - М. : Академия, 2008. - 342 с.

9. Роланд, Ф. Д. Основные концепции баз данных / Ф. Д. Роланд. - М. : Вильямс, 2002. - 120 с.

10. Ульман, Дж. Введение в системы баз данных / Дж. Ульман, Дж. Видом. - М.: Лори, 2000. - 120 с.

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [3,4 M], добавлен 23.03.2013

  • Создание реляционной базы данных "Деканат ВУЗа", средствами СУБД MS SQL Server 2000. Разработка клиентского приложения с удобным пользовательским интерфейсом (сопровождающегося меню и справочной системой). Описание связей между таблицами базы данных.

    курсовая работа [3,0 M], добавлен 06.12.2014

  • Понятие базы данных, ее виды. Иерархическая, сетевая, реляционная модели данных. Создание автоматизированной системы "Учет зарплаты строительной фирмы". Анализ требований и выбор решений. Этапы создания базы данных. Источники финансирования проекта.

    дипломная работа [1,4 M], добавлен 11.06.2013

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

    курсовая работа [352,0 K], добавлен 24.08.2016

  • Использование информационных систем как неотъемлемой составляющей функционирования преуспевающих организаций. Проектирование базы данных для начисления зарплаты. Рассмотрение раскладки по таблицам, их связки, конструктора и запоминающего состояния.

    курсовая работа [2,1 M], добавлен 24.01.2012

  • Изучение истории достижений корпорации Oracle. Разработка клиент-серверного приложения на языке Delphi XE, реализующего возможность управления персоналом на предприятии. Основные структуры данных. Создание инструкции работы с приложением "Отдел кадров".

    дипломная работа [974,7 K], добавлен 08.06.2013

  • Стандартные функции MS SQL-сервера. Состав и структура таблиц базы данных. Диалог пользователя с приложением. Корректировка таблиц-справочников. Построение печатных форм. Использование представлений, хранимых процедур и функций, курсоров, триггеров.

    курсовая работа [609,2 K], добавлен 28.01.2016

  • Анализ предметной области и создание таблиц базы данных "Фирма по продаже запчастей". Простой выбор данных и обработка группирующих запросов с условием средствами MS SQL Server 2008. Создание хранимых процедур и функций, изменение структуры базы данных.

    курсовая работа [6,1 M], добавлен 16.12.2015

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

    дипломная работа [4,7 M], добавлен 22.08.2016

  • Логическая и физическая структура базы данных. Аппаратное и программное обеспечение системы. Создание представлений, хранимых процедур, пользовательских функций, триггеров. Описание основной структуры ASP.NET документов. Пользовательский интерфейс.

    курсовая работа [4,2 M], добавлен 21.05.2013

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

    курсовая работа [971,6 K], добавлен 29.12.2013

  • Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.

    курсовая работа [191,5 K], добавлен 07.01.2015

  • Создание программ, позволяющих создавать базы данных. Создание таблицы базы данных. Создание схемы данных. Создание форм, отчетов, запросов. Увеличение объема и структурной сложности хранимых данных. Характеристика системы управления базой данных Access.

    курсовая работа [2,1 M], добавлен 17.06.2013

  • Язык манипуляции данными. Процесс отбора данных. Использование агрегатных функций и специальных операторов в условиях отбора. Создание и использование представлений и хранимых процедур. Использование триггеров, разработка интерфейса пользователя.

    лабораторная работа [70,6 K], добавлен 13.02.2013

  • Проектирование приложения для базы данных "Оптовый склад" средней сложности с типовым пользовательским интерфейсом. Изучение особенностей ведения учета поставщиков, покупателей, продаж, движения товара на складе. Выборка, удаление таблиц из базы данных.

    курсовая работа [424,1 K], добавлен 03.11.2014

  • Понятие банка и базы данных, их назначение. Создание базы данных "Учет нарушений ПДД" с удобным пользовательским интерфейсом. Требования к функциональным характеристикам. Условия эксплуатации и программные требования. Описание входных и выходных данных.

    курсовая работа [2,9 M], добавлен 22.09.2012

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

    контрольная работа [50,1 K], добавлен 30.10.2009

  • Создание клиент-серверного приложения на основе технологии CORBA. Проектирование многоуровневой системы, в которой клиент при помощи банкомата выполняет необходимые операции. Способы реализации серверов в разных каналах для ускорения обработки данных.

    лабораторная работа [1,1 M], добавлен 08.06.2009

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

    курсовая работа [820,4 K], добавлен 16.06.2013

  • Проектирование физической и логической моделей удаленной базы данных для АЗС. Разработка базы данных в СУБД Firebird с помощью утилиты IBExpert. Создание клиентского приложения для Windows с использованием клиент-серверной технологии в среде C++ Builder.

    курсовая работа [3,9 M], добавлен 18.01.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.