Проектирование базы данных

Автор работы: Пользователь скрыл имя, 28 Марта 2011 в 11:52, курсовая работа

Описание работы

В состав базы данных «Предприятие» входят следующие объекты данных:
объект «Организации»;
объект «Виды деятельности»;
объект «Товары и услуги»;
объект «Запросы».

Файлы: 1 файл

проектирование БД.doc

— 356.50 Кб (Скачать файл)

Рис.20. Пример применения метода доступа последством  хэширования к отношению «Оперативная информация». 

Исходные  ключи Преобра-зованные ключи Номер в цепочке Адрес Содержимое  записи Указа-тель цепочки
57; 91200; Мелкооптовая торговля; 25/08/2000 23 1 23 57; 91200; Мелкооптовая  торговля; 25/08/2000 95
57; 92500; Распространение программных  продуктов; 25/08/2000
55 1 55 57; 92500; Распрост-ранение  программных продуктов; 25/08/2000 106
78; 98800; Проведение отделочных работ; 22/12/2000
88 1 88 78; 98800; Проведение  отделочных работ; 22/12/2000 125
155; 92250; Перевозки грузов до 1 т; 02/02/2001 23 2 95 155; 92250; Перевозки грузов до 1 т; 02/02/2001 0
155; 92251; Перевозки грузов до 3 т; 02/02/2001 55 2 106 155; 92251; Перевозки  грузов до 3 т; 02/02/2001 0
155; 92262; Пассажирские перевозки; 02/02/2001
88 2 125 155; 92262; Пассажирс-кие  перевозки; 02/02/2001 0

    Рис.21. Пример применения метода доступа последством  хэширования к отношению «Виды  деятельности»

 

5. ЛИСТИНГ ПРОГРАММЫ

 

#include <vcl.h>

#pragma hdrstop 

#include "TMain.h"

#include "TSprVidDeyatel.h"

#include "TSprGoods.h"

#include "TDMMain.h"

#include "TEditFoundation.h"

#include "Report1.h"

#include "Report2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "RxLookup"

#pragma link "RXSplit"

#pragma resource "*.dfm"

TMain *Main;

//---------------------------------------------------------------------------

__fastcall TMain::TMain(TComponent* Owner)

        : TForm(Owner)

{

    aWhere = " where ";

}

//---------------------------------------------------------------------------

void __fastcall TMain::ActGoodsExecute(TObject *Sender)

{

TSprGoods *SprGoods  = new TSprGoods(this);

SprGoods->ShowModal();

delete SprGoods;

}

//---------------------------------------------------------------------------

void __fastcall TMain::ActVidDeyatelExecute(TObject *Sender)

{

TSprVidDeyatel *SprVidDeyatel = new TSprVidDeyatel(this);

SprVidDeyatel->ShowModal();

delete SprVidDeyatel;

}

//---------------------------------------------------------------------------

void __fastcall TMain::ActCloseExecute(TObject *Sender)

{

Close();   

}

//---------------------------------------------------------------------------

void __fastcall TMain::SpeedButton1Click(TObject *Sender)

{

TEditFoundation *EditFoundation = new TEditFoundation(this);

DMMain->Foundation->Insert();

EditFoundation->ShowModal();

delete EditFoundation;

}

//---------------------------------------------------------------------------

void __fastcall TMain::SpeedButton2Click(TObject *Sender)

{

TEditFoundation *EditFoundation = new TEditFoundation(this);

DMMain->Foundation->Locate("ID",DMMain->qryFoundation->FieldByName("ID")->AsInteger,TLocateOptions());

DMMain->Foundation->Edit();

EditFoundation->ShowModal();

delete EditFoundation;

}

//---------------------------------------------------------------------------

void __fastcall TMain::SetMacros()

{

DMMain->qryFoundation->Close();

/*if((!RxDBLookupCombo1->KeyValue.IsNull())||(!RxDBLookupCombo1->KeyValue.IsNull()))

    DMMain->qryFoundation->MacroByName("mac1")->AsString = aWhere;*/ 

if(!RxDBLookupCombo1->KeyValue.IsNull())

{

DMMain->qryFoundation->MacroByName("macW")->AsString = aWhere ; 

DMMain->qryFoundation->MacroByName("mac1")->AsString =

                        " inner join cost g on g.foundation_id = f.id ";

DMMain->qryFoundation->MacroByName("mac3")->AsString =

                                 " g.goods_id = " + RxDBLookupCombo1->KeyValue;

}

else

{

DMMain->qryFoundation->MacroByName("mac1")->AsString = "";

DMMain->qryFoundation->MacroByName("mac3")->AsString = "";

DMMain->qryFoundation->MacroByName("macW")->AsString = "";

} 

if(!RxDBLookupCombo2->KeyValue.IsNull())

{

DMMain->qryFoundation->MacroByName("macW")->AsString = aWhere ;

DMMain->qryFoundation->MacroByName("mac2")->AsString =

         " inner join DeyatFnd df on df.foundation_id = f.id ";

 if(!RxDBLookupCombo1->KeyValue.IsNull())

   DMMain->qryFoundation->MacroByName("mac4")->AsString =

         " and df.viddeyatel_id = " + RxDBLookupCombo2->KeyValue;

else

   DMMain->qryFoundation->MacroByName("mac4")->AsString =

         " df.viddeyatel_id = " + RxDBLookupCombo2->KeyValue;

}

else

{

DMMain->qryFoundation->MacroByName("mac2")->AsString = "";

DMMain->qryFoundation->MacroByName("mac4")->AsString = "";

}

Reg_UnReg(); 
 

DMMain->qryFoundation->SQL->Text;

DMMain->qryFoundation->Open();

}

//--------------------------------------------------------------------------- 

void __fastcall TMain::Button1Click(TObject *Sender)

{

SetMacros();

}

//---------------------------------------------------------------------------

void __fastcall TMain::Reg_UnReg()

{

if((ComboBox1->ItemIndex==0)||(Edit1->Text.IsEmpty()))

{

  Edit1->Text = "";

  ComboBox1->ItemIndex = 0;

  if(RxDBLookupCombo2->KeyValue.IsNull())

   DMMain->qryFoundation->MacroByName("mac4")->AsString = ""; 

  if(RxDBLookupCombo2->KeyValue.IsNull()&&RxDBLookupCombo1->KeyValue.IsNull())

   DMMain->qryFoundation->MacroByName("macW")->AsString = "";

}

else

if(CheckBox1->Checked)

{

   if(!RxDBLookupCombo2->KeyValue.IsNull())

   {

    DMMain->qryFoundation->MacroByName("mac4")->AsString =

    DMMain->qryFoundation->MacroByName("mac4")->AsString +

    " and f.beg_kv = " + AnsiString(ComboBox1->ItemIndex) +

    " and f.beg_year = " + Edit1->Text;

   }

   else

   {

    if(!RxDBLookupCombo1->KeyValue.IsNull())

    {  DMMain->qryFoundation->MacroByName("mac4")->AsString =

      " and f.beg_kv = " + AnsiString(ComboBox1->ItemIndex) +

      " and f.beg_year = " + Edit1->Text;

    }

    else

    {  DMMain->qryFoundation->MacroByName("macW")->AsString = aWhere;

      DMMain->qryFoundation->MacroByName("mac4")->AsString =

      " f.beg_kv = " + AnsiString(ComboBox1->ItemIndex) +

      " and f.beg_year = " + Edit1->Text;

    }

   }

  }

else

{

   if(!RxDBLookupCombo2->KeyValue.IsNull())

   {

    DMMain->qryFoundation->MacroByName("mac4")->AsString =

    DMMain->qryFoundation->MacroByName("mac4")->AsString +

    " and f.end_kv = " + AnsiString(ComboBox1->ItemIndex) +

    " and f.end_year = " + Edit1->Text;

   }

   else

   {

    if(!RxDBLookupCombo1->KeyValue.IsNull())

    {

      DMMain->qryFoundation->MacroByName("mac4")->AsString =

      " and f.end_kv = " + AnsiString(ComboBox1->ItemIndex) +

      " and f.end_year = " + Edit1->Text;

    }

    else

    {

      DMMain->qryFoundation->MacroByName("macW")->AsString = aWhere;

      DMMain->qryFoundation->MacroByName("mac4")->AsString =

      " f.end_kv = " + AnsiString(ComboBox1->ItemIndex) +

      " and f.end_year = " + Edit1->Text;

    }

   }

  }

}

//---------------------------------------------------------------------------

void __fastcall TMain::Rep_kvExecute(TObject *Sender)

{

//

runRep1(ComboBox1->Text +"  "+Edit1->Text,RxDBLookupCombo1->Text,RxDBLookupCombo2->Text);

}

//--------------------------------------------------------------------------- 

void __fastcall TMain::N111Click(TObject *Sender)

{

QuickReport1->qryFoundation->ParamByName("id")->AsInteger =

        DMMain->qryFoundation->FieldByName("id")->AsInteger;

QuickReport1->PreviewModal();

} 

#include <vcl.h>

#pragma hdrstop 

#include "TEditFoundation.h"

#include "TDMMain.h"

#include "TDMBase.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "RxDBComb"

#pragma resource "*.dfm"

TEditFoundation *EditFoundation;

//---------------------------------------------------------------------------

__fastcall TEditFoundation::TEditFoundation(TComponent* Owner)

    : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TEditFoundation::FormClose(TObject *Sender,

      TCloseAction &Action)

{

Информация о работе Проектирование базы данных