
- •Липецкий государственный технический университет
- •Задание кафедры
- •Содержание
- •Введение
- •Основная часть
- •1 Техническое задание
- •1.1 Описание предметной области
- •1.2 Модель вариантов использования
- •2 Технический (эскизный) проект
- •2.2.3 Спецификация связей
- •2.3 Физическая модель базы данных
- •2.3.1 Диаграмма физической модели
- •2.3.2 Спецификация таблиц
- •2.4 Основные запросы к базе данных
- •2.4.1 Формулировка на естественном языке
- •2.4.2 Формулировка в виде выражения реляционной алгебры
- •2.5 Хранимые процедуры
- •3 Рабочий проект
- •3.4.4 Вызов и загрузка
- •3.4.5. Описание работы с программой
- •3.4.6. Данные
- •3.4.7 Сообщения
- •Заключение
- •Список источников
- •Приложение 1. Sql-скрипт создания бд
- •Приложение 2. Текст программы
- •Приложение 3. Графическая часть
Заключение
В ходе выполнения курсовой работы была создана модель базы данных фирмы по разработке веб-сайтов. Разработка модели базы данных велась последовательно от модели локальных представлений, ER-диаграммы до физической модели. Полученная модель базы данных была реализована в объектно-реляционной системе управления базами данных Oracle 11g Express Edition.
Была разработана информационная система, включающая в себя программу для работы с базой данных. Данная программа позволяет автоматизировать и ускорить ведение базы данных ресторана.
Таким образом, в ходе выполнения курсовой работы были приобретены практические навыки разработки и документирования информационных систем на базе СУБД Oracle.
Список источников
1. Дейт К. Введение в системы баз данных //6-издание. – Киев: Диалектика, 1998. – 784 с.
2. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс. – М.: «Вильямс», 2003. – 1088 с.
3. Дж. Прайс, Oracle Database 11g: SQL. Операторы SQL и программы PL/SQL. – M.: «Лори», 2012. – 659 с.
Приложение 1. Sql-скрипт создания бд
/*==============================================================*/
/* DBMS name: ORACLE Version 11g */
/* Created on: 28.05.2013 19:37:38 */
/*==============================================================*/
alter table "Execution"
drop constraint FK_EXECUTIO_РАСПОЛОЖЕ_HOSTING;
alter table "Execution"
drop constraint FK_EXECUTIO_СОДЕРЖИТ_ZAKAZ;
alter table "Execution"
drop constraint FK_EXECUTIO_СОЗДАЕТ_WORKER;
alter table "Remark"
drop constraint FK_REMARK_СОДЕРЖИТ1_EXECUTIO;
alter table "Worker"
drop constraint FK_WORKER_ДОЛЖНОСТЬ_CAPACITY;
alter table "Zakaz"
drop constraint FK_ZAKAZ_ЗАКАЗЫВАЕ_CLIENT;
alter table "Zakaz"
drop constraint FK_ZAKAZ_ОФОРМЛЯЕТ_MANAGER;
alter table "Zakaz"
drop constraint FK_ZAKAZ_ТИП_TYPE;
drop table "Capacity" cascade constraints;
drop table "Client" cascade constraints;
drop index "расположен_FK";
drop index "содержит_FK";
drop index "создает_FK";
drop table "Execution" cascade constraints;
drop table "Hosting" cascade constraints;
drop table "Manager" cascade constraints;
drop index "содержит1_FK";
drop table "Remark" cascade constraints;
drop table "Type" cascade constraints;
drop index "должность_FK";
drop table "Worker" cascade constraints;
drop index "оформляет_FK";
drop index "тип_FK";
drop index "заказывает_FK";
drop table "Zakaz" cascade constraints;
/*==============================================================*/
/* Table: "Capacity" */
/*==============================================================*/
create table "Capacity"
(
"capacity_id" INTEGER not null,
"capacity_name" VARCHAR2(255),
constraint PK_CAPACITY primary key ("capacity_id")
);
/*==============================================================*/
/* Table: "Client" */
/*==============================================================*/
create table "Client"
(
"client_id" INTEGER not null,
"client_name" VARCHAR2(255),
constraint PK_CLIENT primary key ("client_id")
);
/*==============================================================*/
/* Table: "Execution" */
/*==============================================================*/
create table "Execution"
(
"execution_id" INTEGER not null,
"zakaz_id" INTEGER,
"hosting_id" INTEGER,
"worker_id" INTEGER,
"date_start" DATE,
"date_end" DATE,
"maket_link" VARCHAR2(255),
"rating" INTEGER,
constraint PK_EXECUTION primary key ("execution_id")
);
/*==============================================================*/
/* Index: "создает_FK" */
/*==============================================================*/
create index "создает_FK" on "Execution" (
"worker_id" ASC
);
/*==============================================================*/
/* Index: "содержит_FK" */
/*==============================================================*/
create index "содержит_FK" on "Execution" (
"zakaz_id" ASC
);
/*==============================================================*/
/* Index: "расположен_FK" */
/*==============================================================*/
create index "расположен_FK" on "Execution" (
"hosting_id" ASC
);
/*==============================================================*/
/* Table: "Hosting" */
/*==============================================================*/
create table "Hosting"
(
"hosting_id" INTEGER not null,
"url" VARCHAR2(255),
"date_start_support" DATE,
"date_end_support" DATE,
constraint PK_HOSTING primary key ("hosting_id")
);
/*==============================================================*/
/* Table: "Manager" */
/*==============================================================*/
create table "Manager"
(
"manager_id" INTEGER not null,
"nanager_fio" VARCHAR2(255),
constraint PK_MANAGER primary key ("manager_id")
);
/*==============================================================*/
/* Table: "Remark" */
/*==============================================================*/
create table "Remark"
(
"remark_id" INTEGER not null,
"execution_id" INTEGER,
"content" CLOB,
constraint PK_REMARK primary key ("remark_id")
);
/*==============================================================*/
/* Index: "содержит1_FK" */
/*==============================================================*/
create index "содержит1_FK" on "Remark" (
"execution_id" ASC
);
/*==============================================================*/
/* Table: "Type" */
/*==============================================================*/
create table "Type"
(
"type_id" INTEGER not null,
"type_name" VARCHAR2(255),
constraint PK_TYPE primary key ("type_id")
);
/*==============================================================*/
/* Table: "Worker" */
/*==============================================================*/
create table "Worker"
(
"worker_id" INTEGER not null,
"capacity_id" INTEGER,
"worker_fio" VARCHAR2(255),
"pay" FLOAT,
constraint PK_WORKER primary key ("worker_id")
);
/*==============================================================*/
/* Index: "должность_FK" */
/*==============================================================*/
create index "должность_FK" on "Worker" (
"capacity_id" ASC
);
/*==============================================================*/
/* Table: "Zakaz" */
/*==============================================================*/
create table "Zakaz"
(
"zakaz_id" INTEGER not null,
"type_id" INTEGER,
"manager_id" INTEGER,
"client_id" INTEGER,
"date_add" DATE,
"date_pay" DATE,
"cost" FLOAT,
"discount" FLOAT,
"advance" FLOAT,
"design" VARCHAR2(255),
"fill" CLOB,
constraint PK_ZAKAZ primary key ("zakaz_id")
);
/*==============================================================*/
/* Index: "заказывает_FK" */
/*==============================================================*/
create index "заказывает_FK" on "Zakaz" (
"client_id" ASC
);
/*==============================================================*/
/* Index: "тип_FK" */
/*==============================================================*/
create index "тип_FK" on "Zakaz" (
"type_id" ASC
);
/*==============================================================*/
/* Index: "оформляет_FK" */
/*==============================================================*/
create index "оформляет_FK" on "Zakaz" (
"manager_id" ASC
);
alter table "Execution"
add constraint FK_EXECUTIO_РАСПОЛОЖЕ_HOSTING foreign key ("hosting_id")
references "Hosting" ("hosting_id");
alter table "Execution"
add constraint FK_EXECUTIO_СОДЕРЖИТ_ZAKAZ foreign key ("zakaz_id")
references "Zakaz" ("zakaz_id");
alter table "Execution"
add constraint FK_EXECUTIO_СОЗДАЕТ_WORKER foreign key ("worker_id")
references "Worker" ("worker_id");
alter table "Remark"
add constraint FK_REMARK_СОДЕРЖИТ1_EXECUTIO foreign key ("execution_id")
references "Execution" ("execution_id");
alter table "Worker"
add constraint FK_WORKER_ДОЛЖНОСТЬ_CAPACITY foreign key ("capacity_id")
references "Capacity" ("capacity_id");
alter table "Zakaz"
add constraint FK_ZAKAZ_ЗАКАЗЫВАЕ_CLIENT foreign key ("client_id")
references "Client" ("client_id");
alter table "Zakaz"
add constraint FK_ZAKAZ_ОФОРМЛЯЕТ_MANAGER foreign key ("manager_id")
references "Manager" ("manager_id");
alter table "Zakaz"
add constraint FK_ZAKAZ_ТИП_TYPE foreign key ("type_id")
references "Type" ("type_id");