Базы данных - библиотека

Автор работы: Пользователь скрыл имя, 25 Декабря 2013 в 23:50, курсовая работа

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

Разработать систему, помогающую обслуживать библиотеку. Система должна предусматривать режимы ведения системного каталога, отражающего перечень областей знаний, по которым имеются книги в библиотеке. Внутри библиотеки области знаний в систематическом каталоге могут иметь уникальный внутренний номер и полное наименование. Каждая книга может содержать сведения из нескольких областей знаний. Каждая книга в библиотеке может присутствовать в нескольких экземплярах.

Содержание работы

Задание.
Задание на курсовую работу в соответствии с выбранным вариантом.
Анализ. Предметная область.
Описание предметной области.
Перечень и описание сущностей и атрибутов базы данных.
Проектирование. Нормализация базы данных. Схема данных.
Нормализации базы данных (методом ER-диаграмм).
Схема данных.
Перечень и описание таблиц и их полей (с указанием типов данных и ограничений) в сводной таблице.
Программная часть.
Тестирование. Результаты тестирования.
Сопровождение. Руководство пользователя.
Список использованной литературы
Приложение 1. Исходный текст приложения.

Файлы: 1 файл

курсовая БД (библиотека).docx

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

Form1->Caption="История";

del_his();

searh();

}

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

 

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form1->DBGrid1->DataSource=DataModule2->DataSource2;

de=2;

Form1->Caption="Книги";

del_his();

searh();

}

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

 

 

 

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Form1->DBGrid1->DataSource=DataModule2->DataSource3;

de=3;

Form1->Caption="Область знаний";

del_his();

searh();

}

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

 

 

void __fastcall TForm1::Button4Click(TObject *Sender)

{

   Form1->DBGrid1->DataSource=DataModule2->DataSource4;

   de=4;

   Form1->Caption="Область знаний книги";

   del_his();

   searh();

}

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

 

void __fastcall TForm1::Button5Click(TObject *Sender)

{

   Form1->DBGrid1->DataSource=DataModule2->DataSource5;

   de=5;

   Form1->Caption="Читатель";

   Form1->Button11->Visible=1;

   Form1->Button11->Enabled=1;

   del_his();

}

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

 

void __fastcall TForm1::Button6Click(TObject *Sender)

{

   Form1->DBGrid1->DataSource=DataModule2->DataSource6;

   de=6;

   Form1->Caption="Экземпляр";

   Label3->Visible=true;

   Label3->Enabled=true;

   Button10->Visible=1;

   Button10->Enabled=1;

   searh();

}

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

 

void __fastcall TForm1::Button7Click(TObject *Sender)

{

switch(de)

{

case 1:

// DataModule2->ADOTable1->Delete();

//  Label4->Caption=0;

//  DataModule2->ADOQuery3->Active=0;

Label4->Caption=DataModule2->ADOQuery1КодИстории->Value;

//  DataModule2->ADOQuery3->SQL->Add("select КодЭкземпляра from Экземпляр where КодИстории='"+Label4->Caption+"'");

//  DataModule2->ADOQuery3->ExecSQL();

//  DataModule2->ADOQuery3->Active=1;

//  Label4->Caption=DataModule2->ADOQuery3->FieldByName("КодЭкземпляра")->Value;

//  Label4->Visible=1;

//  if(DataModule2->ADOQuery3->FieldByName("КодЭкземпляра")->Value==NULL)

//   ShowMessage("feefef");

DataModule2->ADOQuery3->SQL->Add("delete from История where КодИстории='"+Label4->Caption+"'");

DataModule2->ADOQuery3->ExecSQL();

//  DataModule2->ADOQuery1->Refresh();

DataModule2->ADOQuery1->Active=0;

DataModule2->ADOQuery1->Active=1;

break;

case 2:

DataModule2->ADOTable2->Delete();

break;

case 3:

DataModule2->ADOTable3->Delete();

break;

case 4:

DataModule2->ADOTable4->Delete();

break;

case 5:

DataModule2->ADOTable5->Delete();

break;

case 6:

DataModule2->ADOTable6->Delete();

break;

}

}

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

 

void __fastcall TForm1::Button8Click(TObject *Sender)

{

Form1->DBGrid1->Enabled=0;

switch(de){

case 1:

//  DataModule2->ADOTable1->Last();

//  DataModule2->ADOTable1->Insert();

Form2->Show();

Form1->Enabled=0;

Form2->Caption="Добавть запись в таблицу История";

break;

case 2:

DataModule2->ADOTable2->Last();

DataModule2->ADOTable2->Insert();

Form3->Show();

Form1->Enabled=0;

Form3->Caption="Добавть запись в таблицу Книги";

break;

case 3:

   // DataModule2->ADOTable3->Last();

  // DataModule2->ADOTable3->Insert();

Form4->Show();

Form1->Enabled=0;

Form4->Caption="Добавть запись в таблицу Область знаний";

break;

case 4:

DataModule2->ADOTable4->Last();

DataModule2->ADOTable4->Insert();

Form5->Show();

Form1->Enabled=0;

Form5->Caption="Добавть запись в таблицу Область знаний книги";

break;

case 5:

DataModule2->ADOTable5->Last();

DataModule2->ADOTable5->Insert();

Form6->Show();

Form1->Enabled=0;

Form6->Caption="Добавть запись в таблицу Читатель";

break;

case 6:

DataModule2->ADOTable6->Last();

DataModule2->ADOTable6->Insert();

Form7->Show();

Form1->Enabled=0;

Form7->Caption="Добавть запись в таблицу Экземпляр";

break;

}

 

 

 

 

}

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

 

void __fastcall TForm1::Button9Click(TObject *Sender)

{

switch(de){

case 1:

DataModule2->ADOTable1->Edit();

Form2->Show();

Form1->Label2->Caption=0;

Form1->Enabled=0;

Form2->Caption="Редактирование записи в таблице История";

break;

case 2:

DataModule2->ADOTable2->Edit();

Form3->Show();

Form1->Enabled=0;

Form3->Caption="Редактирование записи в таблице Книги";

break;

case 3:

DataModule2->ADOTable3->Edit();

Form4->Show();

Form1->Enabled=0;

Form1->Label1->Caption=0;

Form4->Caption="Редактирование записи в таблице Область знаний";

break;

case 4:

DataModule2->ADOTable4->Edit();

Form5->Show();

Form1->Enabled=0;

Form5->Caption="Редактирование записи в таблице Область знаний книги";

break;

case 5:

DataModule2->ADOTable5->Edit();

Form6->Show();

Form1->Enabled=0;

Form6->Caption="Редактирование записи в таблице Читатель";

break;

case 6:

DataModule2->ADOTable6->Edit();

Form7->Show();

Form1->Enabled=0;

Form7->Caption="Редактирование записи в таблице Экземпляр";

break;

}

 

}

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

 

 

 

void __fastcall TForm1::Button10Click(TObject *Sender)

{

Label4->Caption=DataModule2->ADOTable6КодЭкземпляра->Value;

DataModule2->ADOQuery2->SQL->Add("update Экземпляр set КодИстории=NULL where КодЭкземпляра='"+Label4->Caption+"'");

DataModule2->ADOQuery2->ExecSQL();

DataModule2->ADOTable6->Refresh();

}

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

 

 

void __fastcall TForm1::Button11Click(TObject *Sender)

{

Form9->Show();

Form1->Enabled=0;

}

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


 

Unit1.h

 

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

 

#ifndef Unit1H

#define Unit1H

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

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <ExtCtrls.hpp>

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

class TForm1 : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGrid1;

TButton *Button1;

TButton *Button2;

TButton *Button3;

TButton *Button4;

TButton *Button5;

TButton *Button6;

TButton *Button7;

TButton *Button8;

TButton *Button9;

TLabel *Label1;

TLabel *Label2;

TButton *Button10;

TLabel *Label3;

TLabel *Label4;

TButton *Button11;

void __fastcall Button1Click(TObject *Sender);

void __fastcall Button3Click(TObject *Sender);

void __fastcall Button2Click(TObject *Sender);

void __fastcall Button4Click(TObject *Sender);

void __fastcall Button5Click(TObject *Sender);

void __fastcall Button6Click(TObject *Sender);

void __fastcall Button7Click(TObject *Sender);

void __fastcall Button8Click(TObject *Sender);

void __fastcall Button9Click(TObject *Sender);

void __fastcall Button10Click(TObject *Sender);

void __fastcall Button11Click(TObject *Sender);

private: // User declarations

public:  // User declarations

__fastcall TForm1(TComponent* Owner);

};

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

extern PACKAGE TForm1 *Form1;

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

#endif


 

Modul.h

 

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

 

#ifndef modulH

#define modulH

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

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

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

class TDataModule2 : public TDataModule

{

__published: // IDE-managed Components

TADOConnection *ADOConnection1;

TADOTable *ADOTable1;

TADOTable *ADOTable2;

TADOTable *ADOTable3;

TADOTable *ADOTable4;

TADOTable *ADOTable5;

TADOTable *ADOTable6;

TDataSource *DataSource1;

TDataSource *DataSource2;

TDataSource *DataSource3;

TDataSource *DataSource4;

TDataSource *DataSource5;

TDataSource *DataSource6;

TIntegerField *ADOTable1DSDesigner;

TIntegerField *ADOTable1DSDesigner2;

TIntegerField *ADOTable1DSDesigner3;

TWideStringField *ADOTable1DSDesigner4;

TWideStringField *ADOTable1DSDesigner5;

TIntegerField *ADOTable2КодКниги;

TWideStringField *ADOTable2Название;

TWideStringField *ADOTable2ФамАвтора;

TWideStringField *ADOTable2ФамСоавторов;

TWideStringField *ADOTable2МетоИздания;

TWideStringField *ADOTable2Издательство;

TSmallintField *ADOTable2ГодИздания;

TSmallintField *ADOTable2КолСтраниц;

TSmallintField *ADOTable2КолЭкземпляров;

TAutoIncField *ADOTable3КодОблЗнаний;

TStringField *ADOTable3Описание;

TIntegerField *ADOTable4КодКниги;

TIntegerField *ADOTable4КодОблЗнаний;

TAutoIncField *ADOTable5КодЧитателя;

TWideStringField *ADOTable5ФИО;

TWideStringField *ADOTable5Адресс;

TIntegerField *ADOTable5Телефон;

TWideStringField *ADOTable5ДатаРожд;

TIntegerField *ADOTable6КодЭкземпляра;

TIntegerField *ADOTable6КодКниги;

TIntegerField *ADOTable6КодИстории;

TADOQuery *ADOQuery1;

TDataSource *DataSource7;

TADOStoredProc *ADOStoredProc1;

TADOStoredProc *ADOStoredProc2;

TWideStringField *ADOQuery1ФИО;

TIntegerField *ADOQuery1КодЭкземпляра;

TWideStringField *ADOQuery1Название;

TWideStringField *ADOQuery1ДатаВыдачи;

TWideStringField *ADOQuery1ДатаВозврата;

TADOQuery *ADOQuery2;

TADOQuery *ADOQuery3;

TADOQuery *ADOQuery4;

TAutoIncField *ADOQuery1КодИстории;

TAutoIncField *ADOQuery1КодЧитателя;

TDataSource *DataSource8;

TStringField *ADOTable4ОблЗнаний;

TStringField *ADOTable4НазваниеКниги;

TStringField *ADOTable6НазваниеКниги;

TADOStoredProc *ADOStoredProc3;

TADOStoredProc *ADOStoredProc4;

TADOStoredProc *ADOStoredProc5;

private: // User declarations

public:  // User declarations

__fastcall TDataModule2(TComponent* Owner);

};

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

extern PACKAGE TDataModule2 *DataModule2;

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

#endif


 

Unit2.cpp

 

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

 

#include <vcl.h>

#pragma hdrstop

 

#include "Unit1.h"

#include "Unit2.h"

#include "modul.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

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

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm2::Button1Click(TObject *Sender)

{

 

DataModule2->ADOStoredProc4->Parameters->ParamByName("@Дата_выдачи")->Value=DBEdit2->Text;

DataModule2->ADOStoredProc4->Parameters->ParamByName("@Дата_возврата")->Value=DBEdit3->Text;

DataModule2->ADOStoredProc4->ExecProc();

if(DataModule2->ADOStoredProc4->Parameters->ParamByName("@RETURN_VALUE")->Value==0){

ShowMessage("Вы не верно ввели дату выдачи или дату возврата книги");

}

else{

DataModule2->ADOStoredProc3->Parameters->ParamByName("@date_vi")->Value=DBEdit2->Text;

DataModule2->ADOStoredProc3->Parameters->ParamByName("@date_vo")->Value=DBEdit3->Text;

DataModule2->ADOStoredProc3->ExecProc();

 

if(DataModule2->ADOStoredProc3->Parameters->ParamByName("@RETURN_VALUE")->Value<0){

ShowMessage("Вы ввели дату возврата раньше чем дату выдачи книги");

}

else{

 

 

DataModule2->ADOStoredProc5->Parameters->ParamByName("@КодЧитателя")->Value=DBEdit1->Text;

DataModule2->ADOStoredProc5->ExecProc();

 

if(DataModule2->ADOStoredProc5->Parameters->ParamByName("@RETURN_VALUE")->Value>4){

ShowMessage("у данного читателя 5 книг");

}

else{

 

if(Form1->Label2->Caption.ToInt()==0){

DataModule2->ADOTable1DSDesigner2->AsInteger=Form2->DBLookupComboBox1->Text.ToInt();

DataModule2->ADOTable1DSDesigner3->AsInteger=Form2->DBEdit1->Text.ToInt();

DataModule2->ADOTable1DSDesigner4->AsString=DBEdit2->Text;

DataModule2->ADOTable1DSDesigner5->AsString=DBEdit3->Text;

Form1->Label2->Caption=1;

}

else{

DataModule2->ADOStoredProc2->Parameters->ParamByName("@КодЭкземпляра")->Value=DBLookupComboBox1->Text.ToInt();

DataModule2->ADOStoredProc2->Parameters->ParamByName("@КодЧитателя")->Value=DBEdit1->Text.ToInt();

DataModule2->ADOStoredProc2->Parameters->ParamByName("@ДатаВыдачи")->Value=DBEdit2->Text;

DataModule2->ADOStoredProc2->Parameters->ParamByName("@ДатаВозврата")->Value=DBEdit3->Text;

DataModule2->ADOStoredProc2->ExecProc();

 

DataModule2->ADOQuery1->Active=0;

DataModule2->ADOQuery1->Active=1;

DataModule2->ADOTable6->Active=0;

DataModule2->ADOTable6->Active=1;

//     DataModule2->ADOQuery1->Refresh();

Form1->Label2->Caption=1;

}

 

//      DataModule2->ADOTable1->Refresh();

//  DataModule2->ADOTable6->Refresh();

Form2->Close();

}    }  }

}

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

void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)

{

Form1->DBGrid1->Enabled=1;

Form1->Enabled=1;

DataModule2->ADOTable1->Refresh();

DataModule2->ADOTable6->Refresh();

}

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


 

 

 

Unit2.h

 

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

 

#ifndef Unit2H

#define Unit2H

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

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <DBCtrls.hpp>

#include <Mask.hpp>

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

class TForm2 : public TForm

{

__published: // IDE-managed Components

TDBLookupComboBox *DBLookupComboBox1;

TDBLookupComboBox *DBLookupComboBox2;

TButton *Button1;

TLabel *Label1;

TLabel *Label2;

TLabel *Label3;

TLabel *Label4;

TDBEdit *DBEdit1;

TDBEdit *DBEdit2;

TDBEdit *DBEdit3;

TDBEdit *DBEdit4;

void __fastcall Button1Click(TObject *Sender);

void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

private: // User declarations

public:  // User declarations

__fastcall TForm2(TComponent* Owner);

};

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

extern PACKAGE TForm2 *Form2;

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

#endif


 

 

 

Unit3.cpp

 

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

 

#include <vcl.h>

#pragma hdrstop

 

#include "Unit1.h"

#include "modul.h"

#include "Unit3.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm3 *Form3;

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

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

 

}

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

void __fastcall TForm3::Button1Click(TObject *Sender)

{

DataModule2->ADOTable2Название->AsString=DBEdit1->Text;

DataModule2->ADOTable2ФамАвтора->AsString=DBEdit2->Text;

DataModule2->ADOTable2ФамСоавторов->AsString=DBEdit3->Text;

DataModule2->ADOTable2МетоИздания->AsString=DBEdit4->Text;

DataModule2->ADOTable2Издательство->AsString=DBEdit5->Text;

DataModule2->ADOTable2ГодИздания->AsInteger=DBEdit6->Text.ToInt();

DataModule2->ADOTable2КолСтраниц->AsInteger=DBEdit7->Text.ToInt();

DataModule2->ADOTable2КолЭкземпляров->AsInteger=DBEdit8->Text.ToInt();

Form3->Close();

}

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

void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &Action)

{

Form1->DBGrid1->Enabled=1;

DataModule2->ADOTable2->Refresh();

Form1->Enabled=1;

}

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

Информация о работе Базы данных - библиотека