Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет BD 2.doc
Скачиваний:
20
Добавлен:
15.06.2014
Размер:
414 Кб
Скачать
☆

Логическая структура базы данных

Регламент дня Кухня дня Программа дня

Меню

Блюдо Рецепт

Продукт

Поставка Поставщик

Состав труппы

Физическая структура базы данных

AUCTIONS

A_ID

Autoincrement

Primary

A_NAME

Alpha

A_DATE

Date


T1

Data

Date

Nom_kuhni

numeric

Nom_progra

numeric

PAINTERS

P_ID

Autoincrement

Primary

P_FIO

Alpha

P_BIRTH

Date

P_ADRES

Alpha

P_GENRE

Alpha

P_POPUL

Alpha

IM ON AUCT

A_ID

Integer

Primary

I_ID

Integer

Primary

IA_PRICE

Number

IA_SALERPR

Number

T2

E_ID

Autoincrement

Primary

E_BDATE

Date

E_EDATE

Date

E_NAME

Alpha

IM ON EXIB

E_ID

Integer

Primary

I_ID

Integer

Primary

IE_HALL

Alpha

S_ID

Integer

IE_TDATE

Date

IE_RDATE

Date

STAFF

S_ID

Autoincrement

Primary

S_FIO

Alpha

S_BIRTH

Date

S_POST

Alpha


Приложения для работы с базой данных

Разработанная программа выполняет следующие функции:

  1. Возможность добавления данных в таблицы

Пример программной реализации добавления новой информации в таблицы

блюда, продукты, поставщик и т. д.

На главной форме «Ресторан» находится панель меню с пунктом «Новый», с помощью которой выбираем то что дополняется. Программно описывается сл образом:

procedure TForm1.N3Click(Sender: TObject);

begin

Form3.Visible:=True;

end; и так далее.

Процедуры непосредственно добавляющие новую запись в таблицу, для табицы блюда:

procedure TForm3.BitBtn1Click(Sender: TObject);

begin

if (Form1.Table4.MasterSource<>nil)and

(Form1.Table4.MasterSource.Enabled)

then Form1.Table4.MasterSource.Enabled:=False;

if Edit1.Text='' then ShowMessage(Введите название блюда')

else begin

If Form1.Table4.Locate('nazvanie',Edit1.Text,[])

then ShowMessage('Блюдо с таким названием уже существует')

else begin

if (Edit2.Text='')or(strtoint(Edit2.Text)<=0)

then ShowMessage(‘Номер не может отсутствовать или быть отрицательным')

else begin

if (DBLookupComboBox1.Text='')and

(DBLookupComboBox2.Text='')and

(DBLookupComboBox3.Text='')and

(DBLookupComboBox4.Text='')and

(DBLookupComboBox5.Text='')

then ShowMessage('Блюдо должно содержать хотя бы один ингредиент')

else begin

if ((DBLookupComboBox1.Text<>'')and((Edit3.Text='')or(strtoFLOAT(Edit3.Text)<=0)))or

((DBLookupComboBox2.Text<>'')and((Edit4.Text='')or(strtoFLOAT(Edit4.Text)<=0)))or

((DBLookupComboBox3.Text<>'')and((Edit5.Text='')or(strtoFLOAT(Edit5.Text)<=0)))or

((DBLookupComboBox4.Text<>'')and((Edit6.Text='')or(strtoFLOAT(Edit6.Text)<=0)))or

((DBLookupComboBox5.Text<>'')and((Edit7.Text='')or(strtoFLOAT(Edit7.Text)<=0)))

then ShowMessage('Количество ингредиента не может быть нулевым или меньше нуля')

else

begin

if DBLookupComboBox1.TEXT<>''

then

begin

Form1.Table3.InsertRecord([ComboBox1.text,strtoint(edit2.text),'']);

Form1.Table4.InsertRecord([Edit2.text,Edit1.text]);

Form1.Table5.InsertRecord([Edit2.text,DBLookupComboBox1.KeyValue,strtoFLOAT(edit3.text)]);

end;

if DBLookupComboBox2.Text<>''

then

begin

Form1.Table4.InsertRecord([Edit2.text,Edit1.text]);

Form1.Table5.InsertRecord([Edit2.text,DBLookupComboBox2.KeyValue,strtoFLOAT(edit4.text)]);

end;

if DBLookupComboBox3.Text<>''

then

begin

Form1.Table4.InsertRecord([Edit2.text,Edit1.text]);

Form1.Table5.InsertRecord([Edit2.text,DBLookupComboBox3.KeyValue,strtoFLOAT(edit5.text)]);

end;

if DBLookupComboBox4.Text<>''

then

begin

Form1.Table4.InsertRecord([Edit2.text,Edit1.text]);

Form1.Table5.InsertRecord([Edit2.text,DBLookupComboBox4.KeyValue,strtoFLOAT(edit6.text)]);

end;

if DBLookupComboBox5.Text<>''

then

begin

Form1.Table4.InsertRecord([Edit2.text,Edit1.text]);

Form1.Table5.InsertRecord([Edit2.text,DBLookupComboBox5.KeyValue,strtoFLOAT(edit7.text)]);

end;

end;

end;

end;

end;

end;

if (Form1.Table4.MasterSource<>nil)and

(not Form1.Table4.MasterSource.Enabled)

then Form1.Table4.MasterSource.Enabled:=True;

Form3.Visible:=False;

end;

открытие формы для добавления в таблицу Продукты

Form4.Visible:=True;

FORM4.query1.SQL.Clear;

FORM4.query1.SQL.Add

( 'select (max(KOD_PRODUK)+1) from T66'); // SQL запрос для определения max //кода продукта

FORM4.query1.Open;

FORM4.edit1.Text:=FORM4.query1.Fields.Fields[0].AsString;

Процедура непосредственного добавления в таблицу Продукты

procedure TForm4.Button1Click(Sender: TObject);

begin

if strtoint(Edit3.Text)<0

then ShowMessage('Цена не может быть отрицательной')

else begin

if (Form1.Table6.MasterSource<>nil)and

(Form1.Table6.MasterSource.Enabled)

then Form1.Table6.MasterSource.Enabled:=False;

Соседние файлы в предмете Базы данных