Создание базы данных для организации
Анализ предметной области создания программы организации, предоставляющей услуги проката DVD и CD дисков. Описание информационных процессов, обоснование необходимости автоматизации. Разработка приложения, среда реализации и пользовательский интерфейс.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 23.03.2010 |
Размер файла | 43,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Combobox2.Items.Add('D_D');
end;
end;
procedure TForm7.Button1Click(Sender: TObject);
var
zapros: string;
begin
if (k = 'ID_C') or (k = 'ID') or (k = 'ID_D') or(k='KOL') or (k='MONEY') or(k='ID_M') or (k='CL_ID')
then
zapros:='SELECT * from '+tb+' where '+k+'='+Edit1.Text
else
zapros:='SELECT * from '+tb+' where '+k+' LIKE '+'''%'+Edit1.Text+'%''';
Form2.IBQuery1.SQL.Text:=zapros;
Form2.DataSource4.DataSet.Active:=true;
Form7.Close;
Form2.PageControl1.ActivePage:= Form2.PageControl1.Pages[4];
Form2.FocusControl(Form2.PageControl1);
end;
procedure TForm7.ComboBox2Change(Sender: TObject);
begin
k:=Combobox2.Items.Strings[Combobox2.ItemIndex];
end;
end.
Скрипты:
DOMAINS:
CREATE DOMAIN D_GANR AS
VARCHAR(10) CHARACTER SET NONE
NOT NULL
CHECK (VALUE IN ('comedy', 'action', 'melodramm', 'fantasy', 'horror'))
COLLATE NONE
Tables:
CLIENT:
/******************************************************************************/
/**** Tables ****/
/******************************************************************************/
CREATE GENERATOR GEN_CLIENT_ID_C;
CREATE TABLE CLIENT (
ID_C INTEGER,
FIO VARCHAR(50) NOT NULL,
PASPORT VARCHAR(50)
);
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE CLIENT ADD PRIMARY KEY (ID_C);
/******************************************************************************/
/**** Triggers ****/
/******************************************************************************/
SET TERM ^;
/******************************************************************************/
/**** Triggers for tables ****/
/******************************************************************************/
/* Trigger: TRIG_CLIENT */
CREATE TRIGGER TRIG_CLIENT FOR CLIENT
ACTIVE BEFORE INSERT POSITION 0
AS BEGIN
IF (NEW.id_c IS NULL) THEN NEW.id_c = GEN_ID(gen_client_id_c,1);
END
^
DEAL:
/******************************************************************************/
/**** Tables ****/
/******************************************************************************/
CREATE GENERATOR GEN_DEAL_ID;
CREATE TABLE DEAL (
ID_D INTEGER,
ID_M INTEGER NOT NULL,
CL_ID INTEGER NOT NULL,
DEN NUMERIC(4,2),
D_D DATE
);
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE DEAL ADD PRIMARY KEY (ID_D);
/******************************************************************************/
/**** Foreign Keys ****/
/******************************************************************************/
ALTER TABLE DEAL ADD FOREIGN KEY (CL_ID) REFERENCES CLIENT (ID_C) ON UPDATE CASCADE;
ALTER TABLE DEAL ADD FOREIGN KEY (ID_M) REFERENCES MOVIE (ID) ON DELETE CASCADE ON UPDATE CASCADE;
/******************************************************************************/
/**** Triggers for tables ****/
/******************************************************************************/
/* Trigger: DEC_MONEY */
CREATE TRIGGER DEC_MONEY FOR DEAL
ACTIVE AFTER INSERT POSITION 0
AS
declare variable x integer;
begin
Select Count(New.cl_id) from DEAL
into:x;
if (:x > 3) then
begin
update Deal
set Deal.den = (DEAL.den - DEAL.den/100*10)
where DEAL.id_d = New.id_d;
end
end
/* Trigger: SUB_MOVIE */
CREATE TRIGGER SUB_MOVIE FOR DEAL
ACTIVE AFTER INSERT POSITION 0
AS
begin
update movie
set movie.kol = movie.kol - 1
where movie.id = new.id_m;
end
/* Trigger: TRIG_DEAL_BI */
CREATE TRIGGER TRIG_DEAL_BI FOR DEAL
ACTIVE BEFORE INSERT POSITION 0
AS BEGIN
IF (NEW.Id_d IS NULL) THEN NEW.Id_d = GEN_ID(Gen_DEAL_ID,1);
END
MOVIE:
/******************************************************************************/
/**** Tables ****/
/******************************************************************************/
CREATE GENERATOR GEN_DEAL_ID;
CREATE TABLE DEAL (
ID_D INTEGER,
ID_M INTEGER NOT NULL,
CL_ID INTEGER NOT NULL,
DEN NUMERIC(4,2),
D_D DATE
);
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE DEAL ADD PRIMARY KEY (ID_D);
/******************************************************************************/
/**** Foreign Keys ****/
/******************************************************************************/
ALTER TABLE DEAL ADD FOREIGN KEY (CL_ID) REFERENCES CLIENT (ID_C) ON UPDATE CASCADE;
ALTER TABLE DEAL ADD FOREIGN KEY (ID_M) REFERENCES MOVIE (ID) ON DELETE CASCADE ON UPDATE CASCADE;
/******************************************************************************/
/**** Triggers for tables ****/
/******************************************************************************/
/* Trigger: DEC_MONEY */
CREATE TRIGGER DEC_MONEY FOR DEAL
ACTIVE AFTER INSERT POSITION 0
AS
declare variable x integer;
begin
Select Count(cl_id) from DEAL where cl_id = New.cl_id group by cl_id
into:x;
if (:x > 3) then
begin
update Deal
set Deal.den = (DEAL.den - DEAL.den/100*10)
where DEAL.id_d = New.id_d;
end
end
/* Trigger: SUB_MOVIE */
CREATE TRIGGER SUB_MOVIE FOR DEAL
ACTIVE AFTER INSERT POSITION 0
AS
begin
update movie
set movie.kol = movie.kol - 1
where movie.id = new.id_m;
end
/* Trigger: TRIG_DEAL_BI */
CREATE TRIGGER TRIG_DEAL_BI FOR DEAL
ACTIVE BEFORE INSERT POSITION 0
AS BEGIN
IF (NEW.Id_d IS NULL) THEN NEW.Id_d = GEN_ID(Gen_DEAL_ID,1);
END
EXCEPTION:
CREATE EXCEPTION NO_DELETE 'Нельзя удалить фильм если он имеется на складе!';
VIEW:
CREATE VIEW BESTCLIENT(FIO)
AS
select FIO from client where id_c =(select cl from(select deal.cl_id as cl, count (cl_id) as col from deal group by deal.cl_id HAVING count (cl_id) >=All (select count (cl_id) as col from deal group by deal.cl_id)));
Подобные документы
Возможности извлечения информации из баз данных. Программы для создания и обработки базы данных и создания пользовательского интерфейса. Обоснование выбора программных средств для реализации. Создание базы данных, интерфейса и базы данных к интерфейсу.
курсовая работа [2,9 M], добавлен 24.03.2023Системный анализ предметной области. Выбор инструментальных средств для создания программного обеспечения. Программирование на стороне SQL-сервера. Создание клиентского Win-приложения, пользовательский интерфейс. Физическое проектирование базы данных.
курсовая работа [3,7 M], добавлен 20.11.2013Логическая и физическая структура базы данных. Аппаратное и программное обеспечение системы. Создание представлений, хранимых процедур, пользовательских функций, триггеров. Описание основной структуры ASP.NET документов. Пользовательский интерфейс.
курсовая работа [4,2 M], добавлен 21.05.2013Описание объекта информатизации и предметной области. Анализ параметров объектов предметной области, сбор исходных данных. Архитектура проекта, создание интерфейса базы данных. Поиск по объектам, датам. Редактирование, отчеты. Назначение программы.
курсовая работа [2,3 M], добавлен 20.01.2016Создание программы для автоматизации некоторых основных процессов, происходящих на заводе по производству пластиковых окон. Модель процессов предметной области, концептуальное проектирование базы данных. Описание пользователей, создание приложения.
курсовая работа [35,0 K], добавлен 08.08.2011Создание базы данных в СУБД MS ACCESS 2007 для оптимизации продаж в музыкальном магазине. Описание предметной области, разработка инфологической модели данных. Пользовательский интерфейс: информация о товаре, производителях, продавцах, отчет по чекам.
курсовая работа [847,3 K], добавлен 10.02.2014Разработка базы данных с целью автоматизации процессов составления, ведения и распространения информации об расписании занятий в спортивном комплексе "Маяк". Анализ предметной области. Разработка алгоритмов работы программы и приложения пользователя.
дипломная работа [1,0 M], добавлен 12.07.2015Понятие баз данных и принципы проектирования информационных систем. Разработка программы для отслеживания финансовой стороны работы компании в среде Delphi 7. Создание таблиц и схемы данных. Разработка клиентского приложения и процедуры добавления данных.
курсовая работа [1,4 M], добавлен 25.04.2012Описание первичных и результатных документов, типа связи информационных объектов. Построение информационно-логической модели базы данных и её реализация в СУБД Access (создание таблиц, запросов, форм, отчётов). Разработка интерфейса пользователя.
курсовая работа [2,1 M], добавлен 14.11.2013Реализация базы данных и серверной части информационной системы склада средствами СУБД Microsoft SQL Server. Анализ предметной области, информационных задач, пользовательской системы. Программа реализации проекта. Выработка требований и ограничений.
курсовая работа [2,4 M], добавлен 15.11.2015