Базы данных по анкетам детей, оставшихся без попечения родителей для ОГОУ “Центра психолого-медико-социального сопровождения”

Автор работы: Пользователь скрыл имя, 26 Мая 2011 в 06:26, дипломная работа

Описание

Целью данного дипломного проекта являлось создание базы данных по анкетам детей, оставшихся без попечения родителей для ОГОУ “Центра психолого-медико-социального сопровождения”.

Реализация данной задачи проводится в системе программирования Delphi7.0, располагающей широкими возможностями по созданию приложений баз данных, необходимым набором драйверов для доступа к самым известным форматам баз данных, удобными и развитыми средствами для доступа к информации, расположенной как на локальном диске, так и на удаленном сервере, а также большим коллекцией визуальных компонент для построения отображаемых на экране окон, что необходимо для создания удобного интерфейса между пользователем и исполняемым кодом.

Содержание

Введение 5
Глава 1. Описание предметной области объекта автоматизации 7
1.1. Постановка задачи 7
1.2. Описание предметной области задачи 9
1.2.1. История ОГОУ ЦПМСС 9
1.2.2. Направление деятельности ОГОУ ЦПМСС 9
1.2.3. Структура ОГОУ ЦПМСС 10
1.2.4. Описание компьютерной сети 12
1.2.5. Декомпозиция бизнес-процессов 13
1.2.6. Построение объектной модели задачи 19
Глава 2. Проектирование базы данных и реализация приложения 24
2.1. Программные средства, используемые при реализации проекта 24
2.2. Базы данных 26
2.2.1. Классификация баз данных 28
2.2.2. Структурные элементы баз данных 29
2.3. Проектирование базы данных 30
2.3.1. Проектирование инфологической модели 31
2.3.2. Проектирование логической и физической модели 34
2.4. Описание серверной части клиент-серверного приложения 37
2.5. Описание клиентской части 38
клиент-серверного приложения 38
2.6. Проектирование тестов и тестирование 40
Глава 3. Организационно-экономическая часть 46
3.1. Оценка затрат на разработку АС 46
3.1.1. Материальные затраты 48
3.1.2. Затраты на оплату труда 48
3.1.3. Дополнительная заработная плата 49
3.1.4. Страховые взносы 49
3.1.5. Затраты на электроэнергию 50
3.1.6. Затраты на содержание и эксплуатацию оборудования 50
3.1.7. Амортизационные отчисления 51
3.1.8. Накладные расходы 51
3.1.9. Cводная таблица затрат на разработку и внедрение проекта 52
3.2. Оценка эффекта от внедрения АС 53
Заключение 55
Список литературы 57
Приложения 58

Работа состоит из  1 файл

Диплом итог.doc

— 1.87 Мб (Скачать документ)

//открываем  форму справочника  в таблицу вносим с помощью запроса данные из таблицы БД

form3.Caption:='справочник - учреждения';

form3.DBGrid1.DataSource:=dm.DSuchrez;

form3.DBNavigator1.DataSource:=form3.DBGrid1.DataSource;

dm.uchrez.Close;

dm.uchrez.SelectSQL.Clear;

dm.uchrez.InsertSQL.Clear;

dm.uchrez.ModifySQL.Clear;

dm.uchrez.DeleteSQL.Clear;

dm.uchrez.InsertSQL.Append('INSERT INTO uchrez (name,address) VALUES(:name,:address);');

dm.uchrez.SelectSQL.Append('select uchrez.name, uchrez.address from uchrez');

dm.uchrez.ModifySQL.Append('update uchrez SET name=:name, address=:address WHERE name=:name;');

dm.uchrez.DeleteSQL.Append('delete from uchrez where name=:name;');

dm.uchrez.Open;

form3.DBGrid1.Columns[0].Title.Caption:='Название';

form3.DBGrid1.Columns[0].Width:=155;

form3.DBGrid1.Columns[1].Width:=155;

form3.DBGrid1.Columns[1].Title.Caption:='Адрес';

Form3.Show;

end; 

procedure TForm1.N4Click(Sender: TObject);

var

i:integer;

begin

//открываем  форму анкеты для  новой записи отчищаем  в ней поля

//вносим  из справочников  значения 

//учреждения  из справочника

form4.ComboBox1.Items.Text:='';

dm.IBQuery1.Close;

  dm.IBQuery1.SQL.Clear;

  dm.IBQuery1.SQL.Add('select * from uchrez');

  dm.IBQuery1.Open;

  dm.IBQuery1.First;

  dm.IBQuery1.Last;

  dm.IBQuery1.First;

  for i:=1 to dm.IBQuery1.RecordCount do

  begin

  form4.ComboBox1.Items.Text:=form4.ComboBox1.Items.Text+dm.IBQuery1.FieldByName('name').AsString+chr(13);

  dm.IBQuery1.Next;

  end;

dm.IBQuery1.Close;

//происхождение

form4.ComboBox5.Items.Text:='';

dm.IBQuery1.Close;

  dm.IBQuery1.SQL.Clear;

  dm.IBQuery1.SQL.Add('select * from proish');

  dm.IBQuery1.Open;

  dm.IBQuery1.First;

  dm.IBQuery1.Last;

  dm.IBQuery1.First;

  for i:=1 to dm.IBQuery1.RecordCount do

  begin

  form4.ComboBox5.Items.Text:=form4.ComboBox5.Items.Text+dm.IBQuery1.FieldByName('name_pr').AsString+chr(13);

  dm.IBQuery1.Next;

  end;

dm.IBQuery1.Close;

//гражданство

form4.ComboBox3.Items.Text:='';

form4.ComboBox6.Items.Text:='';

form4.ComboBox7.Items.Text:='';

dm.IBQuery1.Close;

  dm.IBQuery1.SQL.Clear;

  dm.IBQuery1.SQL.Add('select * from grazd');

  dm.IBQuery1.Open;

  dm.IBQuery1.First;

  dm.IBQuery1.Last;

  dm.IBQuery1.First;

  for i:=1 to dm.IBQuery1.RecordCount do

  begin

  form4.ComboBox3.Items.Text:=form4.ComboBox3.Items.Text+dm.IBQuery1.FieldByName('name_gr').AsString+chr(13);

  form4.ComboBox6.Items.Text:=form4.ComboBox6.Items.Text+dm.IBQuery1.FieldByName('name_gr').AsString+chr(13);

  form4.ComboBox7.Items.Text:=form4.ComboBox7.Items.Text+dm.IBQuery1.FieldByName('name_gr').AsString+chr(13);

  dm.IBQuery1.Next;

  end;

dm.IBQuery1.Close;

form4.ComboBox3.ItemIndex:=-1;

form4.ComboBox6.ItemIndex:=-1;

form4.ComboBox7.ItemIndex:=-1;

form4.ComboBox1.ItemIndex:=-1;

form4.ComboBox5.ItemIndex:=-1;

form4.PageControl1.ActivePage:=Form4.TabSheet1;

form4.Edit1.Clear;

form4.Edit2.Clear;

form4.Edit3.Clear;

form4.Edit4.Clear;

form4.Edit5.Clear;

form4.Edit6.Clear;

form4.Edit7.Clear;

form4.Memo1.Clear;

form4.Memo2.Clear;

form4.Memo3.Clear;

form4.Memo4.Clear;

form4.Memo5.Clear;

form4.Memo6.Clear;

form4.Memo7.Clear;

form4.Memo8.Clear;

form4.Memo9.Clear;

form4.Memo10.Clear;

form4.Memo11.Clear;

form4.Memo12.Clear;

form4.Memo13.Clear;

form4.Memo14.Clear;

form4.Memo15.Clear;

form4.Memo16.Clear;

form4.showmodal;

end; 

procedure TForm1.FormShow(Sender: TObject);

begin

//открытие  основной формы,  вносятся в таблицу данные из базы

DBGrid1.DataSource:=dm.DSanketa;

dm.anketa.Close;

dm.anketa.SelectSQL.Clear;

dm.anketa.SelectSQL.Append('select anketa.id_a, anketa.fio, anketa.date_b, anketa.date_pr from anketa where uc=1 order by fio');

dm.anketa.Open;

dm.anketa.First;

dm.anketa.Last;

dm.anketa.First;

DBGrid1.Columns[1].Title.Caption:='ФИО';

DBGrid1.Columns[1].Width:=250;

DBGrid1.Columns[2].Width:=150;

DBGrid1.Columns[2].Title.Caption:='Дата рождения';

DBGrid1.Columns[3].Width:=150;

DBGrid1.Columns[3].Title.Caption:='Регистрация';

DBGrid1.Columns[0].Width:=40;

DBGrid1.Columns[0].Title.Caption:='Номер';

end; 

procedure TForm1.N5Click(Sender: TObject);

begin

//открытие  справочника происхождения

form3.Caption:='справочник - происхождение';

form3.DBGrid1.DataSource:=dm.DSproish;

form3.DBNavigator1.DataSource:=form3.DBGrid1.DataSource;

dm.proish.Close;

dm.proish.SelectSQL.Clear;

dm.proish.InsertSQL.Clear;

dm.proish.ModifySQL.Clear;

dm.proish.DeleteSQL.Clear;

dm.proish.InsertSQL.Append('INSERT INTO proish (name_pr) VALUES(:name_pr);');

dm.proish.SelectSQL.Append('select proish.name_pr from proish');

dm.proish.ModifySQL.Append('update proish SET name_pr=:name_pr WHERE name_pr=:name_pr;');

dm.proish.DeleteSQL.Append('delete from proish where name_pr=:name_pr;');

dm.proish.Open;

form3.DBGrid1.Columns[0].Title.Caption:='Наименование';

form3.DBGrid1.Columns[0].Width:=155;

Form3.Show;

end; 

procedure TForm1.N6Click(Sender: TObject);

begin

//открытие  справочника гражданство

form3.Caption:='справочник - гражданство';

form3.DBGrid1.DataSource:=dm.DSgrazd;

form3.DBNavigator1.DataSource:=form3.DBGrid1.DataSource;

dm.grazd.Close;

dm.grazd.SelectSQL.Clear;

dm.grazd.InsertSQL.Clear;

dm.grazd.ModifySQL.Clear;

dm.grazd.DeleteSQL.Clear;

dm.grazd.InsertSQL.Append('INSERT INTO grazd (name_gr) VALUES(:name_gr);');

dm.grazd.SelectSQL.Append('select grazd.name_gr from grazd');

dm.grazd.ModifySQL.Append('update grazd SET name_gr=:name_gr WHERE name_gr=:name_gr;');

dm.grazd.DeleteSQL.Append('delete from grazd where name_gr=:name_gr;');

dm.grazd.Open;

form3.DBGrid1.Columns[0].Title.Caption:='Наименование';

form3.DBGrid1.Columns[0].Width:=155;

Form3.Show;

end; 

procedure TForm1.N8Click(Sender: TObject);

begin

Application.Terminate;

end; 

procedure TForm1.N9Click(Sender: TObject);

begin

//открытие  формы постановки на учет

dm.IBQuery1.Close;

dm.IBQuery2.Close;

form5.Memo1.Clear;

form5.Memo2.Clear;

form5.Memo3.Clear;

form5.Memo4.Clear;

dm.IBQuery1.SQL.Clear;

dm.IBQuery1.SQL.Add('select * from account where id_a='+DBGrid1.Columns.Items[0].Field.AsString);

dm.IBQuery1.Open;

//если  нет данных об  учете

if dm.IBQuery1.RecordCount=0 then

begin

Form5.TabSheet1.Enabled:=true;

form5.TabSheet2.tabVisible:=false;

form5.Label6.Caption:=DBGrid1.Columns.Items[0].Field.AsString;

form5.memo1.Clear;

end

else

//проверяем  есть ли данные  о снятии с учета

begin 

  form5.DateTimePicker1.Date:=strtodate(dm.IBQuery1.FieldByName('date_acc').AsString);

  form5.Memo1.Lines.Add(dm.IBQuery1.FieldByName('taken_m').AsString);

  dm.IBQuery2.SQL.Clear;

  dm.IBQuery2.SQL.Add('select * from cess_acc join account on account.id_acc=cess_acc.id_acc where account.id_a='+DBGrid1.Columns.Items[0].Field.AsString);

  dm.IBQuery2.Open;

  if dm.IBQuery2.RecordCount=0 then

  begin 

  form5.Label6.Caption:=dm.IBQuery1.FieldByName('id_acc').AsString;

   form5.Memo2.Clear;

   form5.Memo3.Clear;

   form5.Memo4.Clear;

   form5.RadioGroup1.ItemIndex:=0;

  end

  else

  begin

  //если  есть данные о  снятии с учета

  //во 2-й версии неиспользуется

   form5.DateTimePicker2.Date:=strtodate(dm.IBQuery2.FieldByName('date_cess').AsString);

   form5.Memo2.Lines.add(dm.IBQuery2.FieldByName('reg_doc').AsString);

   form5.Memo3.Lines.add(dm.IBQuery2.FieldByName('dop_inf').AsString);

   form5.Memo4.Visible:=false;

   if dm.IBQuery2.FieldByName('reasons').AsString='Достижение 23 лет' then

   Form5.RadioGroup1.ItemIndex:=0

   else if dm.IBQuery2.FieldByName('reasons').AsString='Переезд в др. область' then

   Form5.RadioGroup1.ItemIndex:=1

   else if dm.IBQuery2.FieldByName('reasons').AsString='Смерть' then

   Form5.RadioGroup1.ItemIndex:=2

   else

   begin

   form5.Memo4.Lines.add(dm.IBQuery2.FieldByName('reasons').AsString);

   form5.Memo4.Visible:=true;

   Form5.RadioGroup1.ItemIndex:=3

   end;

  end;

Form5.TabSheet1.Enabled:=false;

form5.TabSheet2.tabVisible:=true;

end;

dm.IBQuery1.Close;

dm.IBQuery2.Close;

form5.Label7.Caption:=DBGrid1.Columns.Items[0].Field.AsString;

form5.ShowModal;

end; 

procedure TForm1.N11Click(Sender: TObject);

begin

//открываем  форму для внесения  изменений

form6.MaskEdit1.Clear;

form6.Edit1.Clear;

form6.MaskEdit1.Visible:=false;

Информация о работе Базы данных по анкетам детей, оставшихся без попечения родителей для ОГОУ “Центра психолого-медико-социального сопровождения”