Автор работы: Пользователь скрыл имя, 17 Апреля 2013 в 13:43, курсовая работа
В данном курсовом проекте рассмотрены основные понятия и принципы, лежащие в основе систем управления базами данных. Рассмотрены вопросы применения объектно-ориентированного программирования для решения различных задач, разработана объектно-ориентированная графическая процедура согласно заданию. Произведена разработка алгоритмов, был выбран язык программирования С++ Builder, как наиболее подходящий для данного проекта, реализующая разработанный алгоритм. Созданная программа работает с базой данных, добавляя, редактируя или изменяя существующие поля.
Введение………………………………………………………………….……….3
Теоретическая часть
1.1 Структура, организация Министерства Внутренних Дел, главных управлений по федеральным округам и органов внутренних дел субъектов Российской Федерации………………………………………………………..….5
1.2 Этапы проектирования БД…………………………………………..10
1.3 Модели данных…………………………………………...................13
1.4 Инфологическая модель данных. Основные понятия…………….14
1.5 Датологическая и физическая модели………………………………16
1.6 Borland C++ Builder…………………….……………………………17
1.7 Принципы организации данных, лежащие в основе СУБД..........17
2. Проектная часть
2.1. Проектирование БД………………………………..…………………19
2.2. Функции системы..…………………………………...........................23
2.3. Описание работы с программой……………………………………..24
Заключение……………………………………………………….......................31
Список литературы……………………………………………………………32
Приложение №1…………………………………………………....................33
{
FGL->Close();
}
//----------------------------
void __fastcall TFGL::N4Click(TObject *Sender)
{
FR->Show();
}
//----------------------------
void __fastcall TFGL::N5Click(TObject *Sender)
{
FF->Show();
}
//----------------------------
void __fastcall TFGL::N9Click(TObject *Sender)
{
Form1->Show();
}
//----------------------------
void __fastcall TFGL::N10Click(TObject *Sender)
{
Form2->Show();
}
//----------------------------
void __fastcall TFGL::N11Click(TObject *Sender)
{
Form3->Show();
}
//----------------------------
void __fastcall TFGL::N12Click(TObject *Sender)
{
Form4->Show();
}
//----------------------------
void __fastcall TFGL::N7Click(TObject *Sender)
{
Form5->Show();
}
//----------------------------
Текст программы для формы FR
#include <vcl.h>
#pragma hdrstop
#include "UR.h"
#include "UGL.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFR *FR;
//----------------------------
__fastcall TFR::TFR(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TFR::FormCreate(TObject *Sender)
{
Table1->Active = false;
Table1->DatabaseName = GetCurrentDir() + "\\MMM";
Table1->Active = true;
Table2->Active = false;
Table2->DatabaseName = GetCurrentDir() + "\\MMM";
Table2->Active = true;
Table3->Active = false;
Table3->DatabaseName = GetCurrentDir() + "\\MMM";
Table3->Active = true;
EN_dok->Text = Table1N_dok->AsString;
EN_P->Text = Table1N_P->AsString;
EM_P->Text = Table1M_P->AsString;
EDS_P->Text = Table1DS_P->AsString;
EDZ->Text = Table1DZ->AsString;
EM_N->Text = Table1M_N->AsString;
EM_N->Text = Table1M_N->AsString;
EId_Pot->Text = Table1Id_Pot->AsString;
EId_Pr->Text = Table1Id_Pr->AsString;
EId_Sv->Text = Table1Id_Sv->AsString;
CDV_P->ItemIndex =CDV_P->Items->IndexOf(
Table2->Filter="Id_Pot='"+
Table2->Filtered=true;
Table3->Filter="Id_Pr='"+
Table3->Filtered=true;
Table4->Filter="Id_Sv='"+
Table4->Filtered=true;
}
//----------------------------
void __fastcall TFR::Table1AfterScroll(
{
EN_dok->Text = Table1N_dok->AsString;
EN_P->Text = Table1N_P->AsString;
EM_P->Text = Table1M_P->AsString;
EDS_P->Text = Table1DS_P->AsString;
EDZ->Text = Table1DZ->AsString;
EM_N->Text = Table1M_N->AsString;
EM_N->Text = Table1M_N->AsString;
CDV_P->ItemIndex =CDV_P->Items->IndexOf(
Table2->Filter="Id_Pot='"+
Table2->Filtered=true;
Table3->Filter="Id_Pr='"+
Table3->Filtered=true;
Table4->Filter="Id_Sv='"+
Table4->Filtered=true;
EId_Pot->Text = Table1Id_Pot->AsString;
EId_Pr->Text = Table1Id_Pr->AsString;
EId_Sv->Text = Table1Id_Sv->AsString;
}
//----------------------------
void __fastcall TFR::Button2Click(TObject *Sender)
{
AnsiString s;
const AnsiString s1=", ";
s="";
if (Table1N_P->AsString != EN_P->Text)
s+= "Название правонарушения";
if (Table1M_P->AsString !=EM_P->Text)
{
if (s !="") s+=s1;
s+= "Место совершения правонарушения" ;
}
if (Table1N_dok->AsString !=EN_dok->Text)
{
if (s !="") s+=s1;
s+= "Номер документа" ;
}
if (Table1Id_Pot->AsString !=EId_Pot->Text)
{
if (s !="") s+=s1;
s+= "Ид.№ потерпевшего" ;
}
if (Table1Id_Pr->AsString !=EId_Pr->Text)
{
if (s !="") s+=s1;
s+= "Ид.№ правонарушителя" ;
}
if (Table1Id_Sv->AsString !=EId_Sv->Text)
{
if (s !="") s+=s1;
s+= "Ид.№ свидетеля" ;
}
if (Table1DS_P->AsString !=EDS_P->Text)
{
if (s !="") s+=s1;
s+= "Дата совершения правонарушения";
}
if (Table1DZ->AsString !=EDZ->Text)
{
if (s !="") s+=s1;
s+= "Дата задержания правонарушителя";
}
if (Table1M_N->AsString !=EM_N->Text)
{
if (s !="") s+=s1;
s+= "Мера наказания";
}
if (Table1V_P->AsString !=CDV_P->Text)
{
if (s !="") s+=s1;
s+= "Вид правонарушения";
}
if (s !="")
{
if ( Application->MessageBox(
("Действительно хотите изменить запись?"+s+"?").c_str(),
"Подтвердите изменение",
MB_YESNO+MB_ICONQUESTION)==
{
Table2->Edit();
Table1N_P->AsString = EN_P->Text;
Table1M_P->AsString = EM_P->Text;
Table1DS_P->AsString = EDS_P->Text;
Table1DZ->AsString = EDZ->Text;
Table1M_N->AsString = EM_N->Text;
Table1N_dok->AsString = EN_dok->Text;
Table1Id_Pot->AsString = EId_Pot->Text;
Table1Id_Pr->AsString = EId_Pr->Text;
Table1Id_Sv->AsString = EId_Sv->Text;
Table1V_P->AsString = CDV_P->Text;
}
}
}
//----------------------------
void __fastcall TFR::Button1Click(TObject *Sender)
{
Table1->Insert();
}
//----------------------------
void __fastcall TFR::Button3Click(TObject *Sender)
{
if ( Application->MessageBox(
"Действительно хотите удалить запись?",
"Подтвердите решение",
MB_YESNO+MB_ICONEXCLAMATION)==
Table1->Delete();
}
//----------------------------
void __fastcall TFR::TabSheet1ContextPopup(
TPoint &MousePos, bool &Handled)
{
EFam_Pot->Text = Table2Fam_Pot->AsString;
EIm_Pot->Text = Table2Im_Pot->AsString;
EOtc_Pot->Text = Table2Otc_Pot->AsString;
ED_R_Pot->Text = Table2D_R_Pot->AsString;
EA_MG_Pot->Text = Table2A_MG_Pot->AsString;
}
//----------------------------
void __fastcall TFR::Table2AfterScroll(
{
EFam_Pot->Text = Table2Fam_Pot->AsString;
EIm_Pot->Text = Table2Im_Pot->AsString;
EOtc_Pot->Text = Table2Otc_Pot->AsString;
ED_R_Pot->Text = Table2D_R_Pot->AsString;
EA_MG_Pot->Text = Table2A_MG_Pot->AsString;
}
//----------------------------
void __fastcall TFR::Button5Click(TObject *Sender)
{
AnsiString s;
const AnsiString s1=", ";
s="";
if (Table2Fam_Pot->AsString != EFam_Pot->Text)
s+= "Фамилия потерпевшего";
if (Table2Im_Pot->AsString !=EIm_Pot->Text)
{
if (s !="") s+=s1;
s+= "Имя потерпевшего" ;
}
if (Table2Otc_Pot->AsString !=EOtc_Pot->Text)
{
if (s !="") s+=s1;
s+= "Отчество потерпевшего";
}
if (Table2D_R_Pot->AsString !=ED_R_Pot->Text)
{
if (s !="") s+=s1;
s+= "Дата рождения потерпевшего";
}
if (Table2A_MG_Pot->AsString !=EA_MG_Pot->Text)
{
if (s !="") s+=s1;
s+= "Адрес места жительства потерпевшего";
}
if (s !="")
{
if ( Application->MessageBox(
("Действительно хотите изменить запись?"+s+"?").c_str(),
"Подтвердите изменение",
MB_YESNO+MB_ICONQUESTION)==
{
Table2->Edit();
Table2Fam_Pot->AsString = EFam_Pot->Text;
Table2Im_Pot->AsString = EIm_Pot->Text;
Table2Otc_Pot->AsString = EOtc_Pot->Text;
Table2D_R_Pot->AsString = ED_R_Pot->Text;
Table2A_MG_Pot->AsString = EA_MG_Pot->Text;
}
}
}
//----------------------------
void __fastcall TFR::Button6Click(TObject *Sender)
{
Table2->Insert();
}
//----------------------------
void __fastcall TFR::Button4Click(TObject *Sender)
{
if ( Application->MessageBox(
"Действительно хотите удалить запись?",
"Подтвердите решение",
MB_YESNO+MB_ICONEXCLAMATION)==
Table2->Delete();
}
//----------------------------
void __fastcall TFR::TabSheet2ContextPopup(
TPoint &MousePos, bool &Handled)
{
EFam_Pr->Text = Table3Fam_Pr->AsString;
EIm_Pr->Text = Table3Im_Pr->AsString;
EOtc_Pr->Text = Table3Otc_Pr->AsString;
ED_R_Pr->Text = Table3D_R_Pr->AsString;
EA_MG_Pr->Text = Table3A_MG_Pr->AsString;
}
//----------------------------
void __fastcall TFR::Table3AfterScroll(
{
EFam_Pr->Text = Table3Fam_Pr->AsString;
EIm_Pr->Text = Table3Im_Pr->AsString;
EOtc_Pr->Text = Table3Otc_Pr->AsString;
ED_R_Pr->Text = Table3D_R_Pr->AsString;
EA_MG_Pr->Text = Table3A_MG_Pr->AsString;
}
//----------------------------
void __fastcall TFR::Button8Click(TObject *Sender)
{
AnsiString s;
const AnsiString s1=", ";
s="";
if (Table3Fam_Pr->AsString != EFam_Pr->Text)
s+= "Фамилия правонарушителя";
if (Table3Im_Pr->AsString !=EIm_Pr->Text)
{
if (s !="") s+=s1;
s+= "Имя правонарушителя" ;
}
if (Table3Otc_Pr->AsString !=EOtc_Pr->Text)
{
if (s !="") s+=s1;
s+= "Отчество правонарушителя";
}
if (Table3D_R_Pr->AsString !=ED_R_Pr->Text)
{
if (s !="") s+=s1;
s+= "Дата рождения правонарушителя";
}
if (Table3A_MG_Pr->AsString !=EA_MG_Pr->Text)
{
if (s !="") s+=s1;
s+= "Адрес места жительства правонарушителя";
}
if (s !="")
{
if ( Application->MessageBox(
("Действительно хотите изменить запись?"+s+"?").c_str(),
"Подтвердите изменение",
MB_YESNO+MB_ICONQUESTION)==
{
Table3->Edit();
Table3Fam_Pr->AsString = EFam_Pr->Text;
Table3Im_Pr->AsString = EIm_Pr->Text;
Table3Otc_Pr->AsString = EOtc_Pr->Text;
Table3D_R_Pr->AsString = ED_R_Pr->Text;
Table3A_MG_Pr->AsString = EA_MG_Pr->Text;
}
}
}
//----------------------------