Создание СУБД для детской клинической больницы

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Программирование
  • 5050 страниц
  • 14 + 14 источников
  • Добавлена 18.10.2017
3 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
СОДЕРЖАНИЕ

Введение 7
1 Технико-экономическая характеристика объекта 8
2 Анализ используемой обработки информации на предприятии 11
3 Постановка задачи 13
3.1 Организационно – экономическая сущность задачи 13
3.2 Входная информация 19
3.3 Выходная информация 20
3.4 Аппаратные и программные средства обеспечения задачи 21
4 Информационное обеспечение задачи 25
4.1 Описание входной оперативной информации 25
4.2 Описание базы данных, используемой для решения задачи 27
5 Программное обеспечение задачи 32
5.1 Описание технологического процесса 32
5.3 Отладка программы 43
6 Охрана труда и техника безопасности 44
6.1 Общие требования к безопасности 44
6.2 Требования безопасности перед началом работы 44
6.3 Требование безопасности в аварийных ситуациях 45
6.4 Требования безопасности по окончанию работы 46
Заключение 47
Приложение А 51

Фрагмент для ознакомления

Free; end; end;end;procedure Tform_pat_card.btn2Click(Sender: TObject);begin //если были изменения, тогда сохраняемif (ds1.FieldByName('fam').AsString <> edt1.Text) or (ds1.FieldByName('im').AsString <> edt2.Text) or (ds1.FieldByName('otch').AsString <> edt3.Text) or (ds1.FieldByName('pol').AsString <> edt4.Text) or (ds1.FieldByName('dt_r').AsString <> edt5.Text) or (ds1.FieldByName('telefon').AsString <> edt6.Text) or (ds1.FieldByName('polis').AsString <> edt7.Text) or (ds1.FieldByName('pasport').AsString <> edt8.Text) or (ds1.FieldByName('fio_rod').AsString <> edt9.Text) or (ds1.FieldByName('tel_rod').AsString <> edt10.Text) or (ds1.FieldByName('ad_p').AsString <> edt11.Text) or (ds1.FieldByName('ad_f').AsString <> edt12.Text) then begin ds1.Edit; ds1.FieldByName('fam').Value := edt1.Text; ds1.FieldByName('im').Value := edt2.Text; ds1.FieldByName('otch').Value := edt3.Text; ds1.FieldByName('pol').Value := edt4.Text; ds1.FieldByName('dt_r').Value := edt5.Text; ds1.FieldByName('telefon').Value := edt6.Text; ds1.FieldByName('polis').Value := edt7.Text; ds1.FieldByName('pasport').Value := edt8.Text; ds1.FieldByName('fio_rod').Value := edt9.Text; ds1.FieldByName('tel_rod').Value := edt10.Text; ds1.FieldByName('ad_p').Value := edt11.Text; ds1.FieldByName('ad_f').Value := edt12.Text; ds1.Post; Close; end else close;end;procedure Tform_pat_card.FormShow(Sender: TObject);begin if idx = 0 then //новая begin ds1.Open; ds1.Append; ds1.FieldByName('fam').Value := ' '; ds1.Post; end; if idx = 1 then //редактированиеbegin //делаем выборку нужного человека ds1.Close;ds1.CommandText := 'select * from pat where id = ' + IntToStr(chel);ds1.Open; //присваиваем значения edt1.Text := ds1.FieldByName('fam').AsString; edt2.Text := ds1.FieldByName('im').AsString; edt3.Text := ds1.FieldByName('otch').AsString; edt4.Text := ds1.FieldByName('pol').AsString; edt5.Text := ds1.FieldByName('dt_r').AsString; edt6.Text := ds1.FieldByName('telefon').AsString; edt7.Text := ds1.FieldByName('polis').AsString; edt8.Text := ds1.FieldByName('pasport').AsString; edt9.Text := ds1.FieldByName('fio_rod').AsString; edt10.Text := ds1.FieldByName('tel_rod').AsString; edt11.Text := ds1.FieldByName('ad_p').AsString; edt12.Text := ds1.FieldByName('ad_f').AsString;end;end;end.unit schedule;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.ComCtrls, Vcl.Buttons, Vcl.StdCtrls, Data.DB, Data.Win.ADODB, Vcl.Grids, Vcl.DBGrids, Vcl.DBCtrls, Vcl.Mask;type Tform_schedule = class(TForm) pnl1: TPanel; lbl1: TLabel; lbl9: TLabel; ds1: TADODataSet; ds2: TDataSource; atncfldds1id: TAutoIncField; strngfldds1fam: TStringField; strngfldds1im: TStringField; strngfldds1otch: TStringField; ds1dt_r: TDateField; ds1dt_tr: TDateField; strngfldds1spec: TStringField; strngfldds1tel: TStringField; ds1foto: TBlobField; intgrfldds1tip: TIntegerField; strngfldds1login: TStringField; strngfldds1pas: TStringField; pnl3: TPanel; btn1: TSpeedButton; btn3: TSpeedButton; btn4: TSpeedButton; dbgrd1: TDBGrid; ds3: TADODataSet; ds4: TDataSource; atncfldds3id: TAutoIncField; intgrfldds3id_doc: TIntegerField; intgrfldds3id_card_pat: TIntegerField; intgrfldds3stat: TIntegerField; ds3date: TDateField; ds3time: TTimeField; ds5: TADODataSet; ds6: TDataSource; atncfldds5id: TAutoIncField; strngfldds5fam: TStringField; strngfldds5im: TStringField; strngfldds5otch: TStringField; ds5dt_r: TDateField; strngfldds5galob: TStringField; ds5diag: TMemoField; ds9: TADODataSet; ds11: TDataSource; ds12: TDataSource; lbl8: TLabel; lbl5: TLabel; lbl6: TLabel; lbl7: TLabel; pnl2: TPanel; dbmmodiag: TDBMemo; pnl4: TPanel; pnl5: TPanel; pnl6: TPanel; lbl2: TLabel; lbl11: TLabel; dbedtgalob: TDBEdit; dbedtfam: TDBEdit; lbl3: TLabel; dbedtim: TDBEdit; lbl4: TLabel; dbedtotch: TDBEdit; lbl10: TLabel; dbedtdt_r: TDBEdit; pnl7: TPanel; dbnvgr1: TDBNavigator; dbgrd2: TDBGrid; ds8: TADODataSet; btn2: TSpeedButton; atncfldds5id_1: TAutoIncField; atncfldds8id: TAutoIncField; strngfldds8naim: TStringField; strngfldds8opis: TStringField; ds7: TADODataSet; ds10: TDataSource; atncfldds7id: TAutoIncField; intgrfldds7id_p: TIntegerField; dtmfldds7data: TDateTimeField; intgrfldds7id_an: TIntegerField; strngfldds7znach: TStringField; strngfldds7analiz: TStringField; btn5: TSpeedButton; btn6: TSpeedButton; procedure FormShow(Sender: TObject); procedure dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); procedure ds9BeforePost(DataSet: TDataSet); procedure btn1Click(Sender: TObject); procedure btn3Click(Sender: TObject); procedure btn4Click(Sender: TObject); procedure ds3AfterScroll(DataSet: TDataSet); procedure btn2Click(Sender: TObject); procedure ds7BeforePost(DataSet: TDataSet); procedure btn5Click(Sender: TObject); procedure btn6Click(Sender: TObject); private { Private declarations } public doc : Integer; vhod : Integer; { Public declarations } end;var form_schedule: Tform_schedule;implementationuses avtoriz, hist;{$R *.dfm}procedure Tform_schedule.btn1Click(Sender: TObject);begin ds3.Close; ds3.CommandText := 'select * from zan where stat = 0 and id_doc = ' + IntToStr(doc) + ' order by date, time'; // ds3.CommandText := 'select * from zan where id_doc = ' + IntToStr(doc); ds3.Open;end;procedure Tform_schedule.btn3Click(Sender: TObject);begin ds3.Close; ds3.CommandText := 'select * from zan where stat = 1 and id_doc = ' + IntToStr(doc) + ' order by date, time'; ds3.Open;end;procedure Tform_schedule.btn4Click(Sender: TObject);begin ds3.Close; ds3.CommandText := 'select * from zan where id_doc = ' + IntToStr(doc) + ' order by date, time'; ds3.Open;end;procedure Tform_schedule.btn2Click(Sender: TObject);begin if ds9.FieldByName('diag').Value <> dbmmodiag.Text then begin ds9.Edit; ds9.FieldByName('diag').AsString := dbmmodiag.Text; ds9.Post; end;end;procedure Tform_schedule.btn5Click(Sender: TObject);begin if ds5.FieldByName('galob').Value <> dbedtgalob.Text then begin ds5.Edit; ds5.FieldByName('galob').AsString := dbedtgalob.Text; ds5.Post; end;end;procedure Tform_schedule.btn6Click(Sender: TObject);begin if (not Assigned(form_hist)) then form_hist := Tform_hist.Create(Self); form_hist.id_pat := ds5.FieldByName('id_1').Value; form_hist.ShowModal; FreeAndNil(form_hist);end;procedure Tform_schedule.dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin if ds3.FieldByName('stat').Value = 1 then //занятые begin with dbgrd1.Canvas do begin Brush.Color := clWebPink; Font.Color := clBlack; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text); end; end;end;procedure Tform_schedule.ds3AfterScroll(DataSet: TDataSet);begin if ds3.FieldByName('id_card_pat').AsString <> '' then begin ds5.Close; ds5.CommandText := 'select card.id, pat.id, fam, im, otch, dt_r, galob, diag from card inner join pat on card.id_p = pat.id where card.id = ' + ds3.FieldByName('id_card_pat').AsString; ds5.Open; ds9.Close; ds9.CommandText := 'select * from card where id = ' + ds3.FieldByName('id_card_pat').AsString; ds9.Open; ds7.Close; ds7.CommandText := 'select * from anal_p where id_p = ' + ds3.FieldByName('id_card_pat').AsString; ds7.Open; end else begin ds5.Close; ds5.CommandText := 'select card.id, pat.id, fam, im, otch, dt_r, galob, diag from card inner join pat on card.id_p = pat.id where card.id = 0'; ds5.Open; ds9.Close; ds9.CommandText := 'select * from card where id = 0'; ds9.Open; ds7.Close; ds7.CommandText := 'select * from anal_p where id_p = 0'; ds7.Open; end;end;procedure Tform_schedule.ds7BeforePost(DataSet: TDataSet);begin ds7.FieldByName('id_p').Value := ds3.FieldByName('id_card_pat').Value;end;procedure Tform_schedule.ds9BeforePost(DataSet: TDataSet);begin ds9.FieldByName('id_p').Value := ds5.FieldByName('id_1').Value;end;procedure Tform_schedule.FormShow(Sender: TObject);begin if vhod = 0 then //зашел врач, показываем только его записи begin ds1.Close; ds1.CommandText := 'select * from doc where id = ' + IntToStr(doc); ds1.Open; lbl5.Caption := ds1.FieldByName('fam').AsString; lbl6.Caption := ds1.FieldByName('im').AsString; lbl7.Caption := ds1.FieldByName('otch').AsString; lbl9.Caption := ds1.FieldByName('spec').AsString; ds3.Close; ds3.CommandText := 'select * from zan where id_doc = ' + IntToStr(doc); ds3.Open; end;end;end.unit employees;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons, Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Vcl.ExtDlgs, Data.DB, Data.Win.ADODB;type Tform_employees = class(TForm) pnl3: TPanel; btn1: TSpeedButton; btn3: TSpeedButton; btn4: TSpeedButton; pnl1: TPanel; pnl2: TPanel; dbnvgr1: TDBNavigator; dbgrd1: TDBGrid; btn2: TSpeedButton; dbimgfoto: TDBImage; dlgOpenPic1: TOpenPictureDialog; btn5: TSpeedButton; ds1: TADODataSet; ds2: TDataSource; atncfldds1id: TAutoIncField; strngfldds1fam: TStringField; strngfldds1im: TStringField; strngfldds1otch: TStringField; ds1dt_r: TDateField; ds1dt_tr: TDateField; strngfldds1spec: TStringField; strngfldds1tel: TStringField; ds1foto: TBlobField; intgrfldds1tip: TIntegerField; strngfldds1login: TStringField; strngfldds1pas: TStringField; procedure btn2Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure btn3Click(Sender: TObject); procedure btn4Click(Sender: TObject); procedure btn5Click(Sender: TObject); procedure dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); procedure intgrfldds1tipGetText(Sender: TField; var Text: string; DisplayText: Boolean); procedure dbgrd1DblClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var form_employees: Tform_employees;implementationuses avtoriz, zan;{$R *.dfm}procedure Tform_employees.btn1Click(Sender: TObject);begin ds1.Close; ds1.CommandText := 'select * from doc where tip = 0 order by fam, im, otch'; ds1.Open;end;procedure Tform_employees.btn2Click(Sender: TObject);var B: TBitmap;begin if dlgOpenPic1.Execute then begin B := TBitmap.Create; try B.LoadFromFile(dlgOpenPic1.FileName); //ds1.Active := True; ds1.Edit; ds1.FieldByName('foto').Assign(B); ds1.Post; finally B.Free; end; end;end;procedure Tform_employees.btn3Click(Sender: TObject);begin ds1.Close; ds1.CommandText := 'select * from doc where tip = 1 order by fam, im, otch'; ds1.Open;end;procedure Tform_employees.btn4Click(Sender: TObject);begin ds1.Close; ds1.CommandText := 'select * from doc where tip = 2 order by fam, im, otch'; ds1.Open;end;procedure Tform_employees.btn5Click(Sender: TObject);begin ds1.Close; ds1.CommandText := 'select * from doc order by fam, im, otch'; ds1.Open;end;procedure Tform_employees.dbgrd1DblClick(Sender: TObject);begin if ds1.FieldByName('tip').Value = 0 then //еслидоктороткрываемегокартузанятости begin if (not Assigned(form_zan)) then form_zan := Tform_zan.Create(Self); form_zan.id_doc := ds1.FieldByName('id').Value; form_zan.ShowModal; FreeAndNil(form_zan); end;end;procedure Tform_employees.dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin if ds1.FieldByName('tip').Value = 0 then //врачи begin with dbgrd1.Canvas do begin Brush.Color := clWebLightGreen; Font.Color := clBlack; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text); end; end; if ds1.FieldByName('tip').Value = 1 then //регистратура begin with dbgrd1.Canvas do begin Brush.Color := clWebPink; Font.Color := clBlack; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text); end; end; if ds1.FieldByName('tip').Value = 2 then //администрация begin with dbgrd1.Canvas do begin Brush.Color := clWebLightYellow; Font.Color := clBlack; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);end; end;end;procedure Tform_employees.intgrfldds1tipGetText(Sender: TField; var Text: string; DisplayText: Boolean);begin if Sender.AsInteger = 0 then Text := 'Врач' else if Sender.AsInteger = 1 then Text := 'Сотрудникрегистратуры' else Text := 'Администратор';end;end.unit zan;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.Grids, Vcl.DBGrids, Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Buttons, Vcl.StdCtrls, Vcl.ComCtrls,DateUtils;type Tform_zan = class(TForm) dbnvgr1: TDBNavigator; dbgrd1: TDBGrid; ds1: TADODataSet; ds2: TDataSource; pnl1: TPanel; btn1: TSpeedButton; btn2: TSpeedButton; btn3: TSpeedButton; dtp1: TDateTimePicker; lbl1: TLabel; edt1: TEdit; lbl2: TLabel; lbl3: TLabel; edt2: TEdit; lbl4: TLabel; edt3: TEdit; lbl5: TLabel; intgrfldds1id_doc: TIntegerField; intgrfldds1id_card_pat: TIntegerField; intgrfldds1stat: TIntegerField; ds1date: TDateField; ds1time: TTimeField; procedure FormShow(Sender: TObject); procedure ds1BeforePost(DataSet: TDataSet); procedure btn2Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure btn3Click(Sender: TObject); private { Private declarations } public id_doc : Integer; { Public declarations } end;var form_zan: Tform_zan;implementationuses employees, avtoriz;{$R *.dfm}procedure Tform_zan.btn1Click(Sender: TObject);begin ds1.Insert;end;procedure Tform_zan.btn2Click(Sender: TObject);begin ds1.Delete;end;procedure Tform_zan.btn3Click(Sender: TObject);var dt : TTime;begin dt := StrToTime(edt2.Text); while dt < StrToTime(edt3.Text) do begin ds1.Insert; ds1.FieldByName('date').Value := dtp1.Date; ds1.FieldByName('time').Value := dt; ds1.Post; dt := IncMinute(dt, StrToInt(edt1.Text)); ds1.Next; end;end;procedure Tform_zan.ds1BeforePost(DataSet: TDataSet);begin ds1.FieldByName('id_doc').Value := id_doc; ds1.FieldByName('stat').Value := 0;end;procedure Tform_zan.FormShow(Sender: TObject);begin ds1.Close; ds1.CommandText := 'select id_doc, id_card_pat, stat, date, time from zan where stat = 0 and id_doc = ' + IntToStr(id_doc) + ' group by date, time, id_doc, id_card_pat, stat'; ds1.Open; dtp1.Date := Now;end;end.unit hist;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids, Data.DB, Data.Win.ADODB, Vcl.StdCtrls, Vcl.DBCtrls;type Tform_hist = class(TForm) pnl1: TPanel; pnl2: TPanel; dbgrd1: TDBGrid; pnl3: TPanel; dbgrd2: TDBGrid; pnl4: TPanel; ds1: TADODataSet; ds2: TDataSource; atncfldds1id: TAutoIncField; intgrfldds1id_p: TIntegerField; ds1dt_obr: TDateField; ds1vr_obr: TTimeField; strngfldds1galob: TStringField; intgrfldds1id_doc: TIntegerField; dtmfldds1dt_pov_pr: TDateTimeField; intgrfldds1stat: TIntegerField; ds1diag: TMemoField; dbmmodiag: TDBMemo; pnl5: TPanel; ds3: TADODataSet; ds4: TDataSource; strngfldds1fam: TStringField; strngfldds1im: TStringField; strngfldds1otch: TStringField; ds5: TADODataSet; ds6: TDataSource; ds7: TADODataSet; ds8: TDataSource; atncfldds7id: TAutoIncField; intgrfldds7id_p: TIntegerField; dtmfldds7data: TDateTimeField; intgrfldds7id_an: TIntegerField; strngfldds7znach: TStringField; strngfldds7analiz: TStringField; procedure FormShow(Sender: TObject); private { Private declarations } public id_pat : Integer;{ Public declarations } end;var form_hist: Tform_hist;implementationuses avtoriz;{$R *.dfm}procedure Tform_hist.FormShow(Sender: TObject);begin ds1.Close; ds1.CommandText := 'select * from card where id_p = ' + IntToStr(id_pat);ds1.Open;end;end.unit settings;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.Mask, Vcl.DBCtrls, Data.DB, Data.Win.ADODB;type Tform_settings = class(TForm) lbl1: TLabel; lbl2: TLabel; lbl3: TLabel; lbl4: TLabel; lbl5: TLabel; lbl6: TLabel; lbl7: TLabel; lbl8: TLabel; dbedtdir: TDBEdit; dbedtadres: TDBEdit; dbedttel: TDBEdit; dbedtgraf: TDBEdit; dbedtinn: TDBEdit; dbedtkpp: TDBEdit; dbedtrs: TDBEdit; btn1: TSpeedButton; ds1: TADODataSet; ds2: TDataSource; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var form_settings: Tform_settings;implementationuses avtoriz;{$R *.dfm}procedure Tform_settings.btn1Click(Sender: TObject);begin if (ds1.FieldByName('dir').Value <> dbedtdir.Text) or (ds1.FieldByName('adres').Value <> dbedtadres.Text)or (ds1.FieldByName('tel').Value <> dbedttel.Text) or (ds1.FieldByName('graf').Value <> dbedtgraf.Text) or (ds1.FieldByName('inn').Value <> dbedtinn.Text) or (ds1.FieldByName('kpp').Value <> dbedtkpp.Text) or (ds1.FieldByName('rs').Value <> dbedtrs.Text) then begin ds1.Edit; ds1.FieldByName('dir').Value := dbedtdir.Text; ds1.FieldByName('adres').Value := dbedtadres.Text; ds1.FieldByName('tel').Value := dbedttel.Text; ds1.FieldByName('graf').Value := dbedtgraf.Text; ds1.FieldByName('inn').Value := dbedtinn.Text; ds1.FieldByName('kpp').Value := dbedtkpp.Text; ds1.FieldByName('rs').Value := dbedtrs.Text; ds1.Post; Close; end else close;end;end.-- MySQL Script generated by MySQL Workbench-- Fri Sep 8 22:03:53 2017-- Model: New Model Version: 1.0-- MySQL Workbench Forward EngineeringSET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';-- ------------------------------------------------------- Schema hospital-- ------------------------------------------------------- ------------------------------------------------------- Schema hospital-- -----------------------------------------------------CREATE SCHEMA IF NOT EXISTS `hospital` DEFAULT CHARACTER SET utf8 ;USE `hospital` ;-- ------------------------------------------------------- Table `hospital`.`pat`-- -----------------------------------------------------CREATE TABLE IF NOT EXISTS `hospital`.`pat` ( `id` INT NOT NULL AUTO_INCREMENT, `fam` VARCHAR(50) NULL, `im` VARCHAR(50) NULL, `otch` VARCHAR(50) NULL, `dt_r` DATE NULL, `ad_p` VARCHAR(150) NULL, `ad_f` VARCHAR(150) NULL, `pasport` VARCHAR(15) NULL, `polis` VARCHAR(30) NULL, `pol` VARCHAR(10) NULL, `telefon` VARCHAR(25) NULL, `fio_rod` VARCHAR(150) NULL, `tel_rod` VARCHAR(20) NULL, `foto` BLOB NULL, PRIMARY KEY (`id`), UNIQUE INDEX `id_UNIQUE` (`id` ASC))ENGINE = InnoDB;-- ------------------------------------------------------- Table `hospital`.`doc`-- -----------------------------------------------------CREATE TABLE IF NOT EXISTS `hospital`.`doc` ( `id` INT NOT NULL AUTO_INCREMENT, `fam` VARCHAR(45) NULL, `im` VARCHAR(45) NULL, `otch` VARCHAR(45) NULL, `dt_r` DATE NULL, `dt_tr` DATE NULL, `spec` VARCHAR(45) NULL, `tel` VARCHAR(45) NULL, `foto` BLOB NULL, PRIMARY KEY (`id`), UNIQUE INDEX `id_UNIQUE` (`id` ASC))ENGINE = InnoDB;-- ------------------------------------------------------- Table `hospital`.`analiz`-- -----------------------------------------------------CREATE TABLE IF NOT EXISTS `hospital`.`analiz` ( `id` INT NOT NULL AUTO_INCREMENT, `naim` VARCHAR(100) NULL, `opis` VARCHAR(100) NULL, PRIMARY KEY (`id`), UNIQUE INDEX `id_UNIQUE` (`id` ASC))ENGINE = InnoDB;-- ------------------------------------------------------- Table `hospital`.`card`-- -----------------------------------------------------CREATE TABLE IF NOT EXISTS `hospital`.`card` ( `id` INT NOT NULL AUTO_INCREMENT, `id_p` INT NULL, `dt_obr` DATE NULL, `vr_obr` TIME NULL, `galob` VARCHAR(100) NULL, `id_doc` INT NULL, `diagnoz` VARCHAR(250) NULL, `dt_pov_pr` DATETIME NULL, `stat` INT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `id_UNIQUE` (`id` ASC), INDEX `id_idx` (`id_p` ASC), CONSTRAINT `id` FOREIGN KEY (`id_p`) REFERENCES `hospital`.`pat` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE = InnoDB;-- ------------------------------------------------------- Table `hospital`.`anal_p`-- -----------------------------------------------------CREATE TABLE IF NOT EXISTS `hospital`.`anal_p` ( `id` INT NOT NULL AUTO_INCREMENT, `id_p` INT NULL, `data` DATETIME NULL, `id_an` INT NULL, `znach` VARCHAR(45) NULL, PRIMARY KEY (`id`), UNIQUE INDEX `id_UNIQUE` (`id` ASC), INDEX `id_idx` (`id_an` ASC), INDEX `id_idx1` (`id_p` ASC), CONSTRAINT `id` FOREIGN KEY (`id_an`) REFERENCES `hospital`.`analiz` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `id` FOREIGN KEY (`id_p`) REFERENCES `hospital`.`card` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE = InnoDB;-- ------------------------------------------------------- Table `hospital`.`zan`-- -----------------------------------------------------CREATE TABLE IF NOT EXISTS `hospital`.`zan` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `id_doc` INT NULL, `id_card_pat` INT NULL, `stat` INT NULL, `date` DATE NULL, `time` TIME NULL, PRIMARY KEY (`id`), INDEX `id_idx` (`id_doc` ASC), INDEX `id_idx1` (`id_card_pat` ASC), CONSTRAINT `id` FOREIGN KEY (`id_doc`) REFERENCES `hospital`.`doc` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `id` FOREIGN KEY (`id_card_pat`) REFERENCES `hospital`.`card` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE = InnoDB;SET SQL_MODE=@OLD_SQL_MODE;SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Список использованных источников

Список использованной литературы:
1 Бобровский С. Delphi 7. Учебный курс. СПб.: Питер, 2013 – 640с.
2 Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 2012. – 351 с.
3 Дарахвелидзе П.Г., Марков Е.П., Котенок О.А. Программирование в Delphi – СПб.: БХВ – Санкт-Петербург, 2015. – 784 с.
4 Зежда Д.П., Ивашко А.М. Основы безопасности информационных систем. Учебн. пособие для ВУЗов. – М.: Горячая линия Телеком, 2012 – 452 с.
5 Карпова Т.С. Базы данных: модели, разработка, реализация. СПб:– Питер, 2012-304 с.
6 Культин Н. Программирование на Object Pascal. – СПб.: BHV – Петербург, 2016.-304 с.
7 Петров В.Н. Информационные системы. Учебник для ВУЗов.– СПб: Питер, 2016- 688 с.
8 Скуснов А.Справочник по компонентам Delphi 7. – М.: ПРИОР, 2015.–288 с.
9 Энго Ф. Как программировать на Delphi ХЕ2. – Киев:ДиаСофт, 2014. – 320 с.
Интернет ресурсы:
10 Базы данных – Урок 1. Понятие базы данных. [Электронный ресурс]. URL:
11 Базы данных – Урок 2. Структура базы данных. [Электронный ресурс]. URL:
12 Классификация баз данных. [Электронный ресурс]. URL:
13 Электронная регистратура. [Электронный ресурс]. URL:< http://dazysoft.ru/index.php/solutions/appt-records/appointmentsoft >
14 MySQL. [Электронный ресурс]. URL:< https://dev.mysql.com/doc/workbench/en/wb-table-editor-foreign-keys-tab.html>

Вопрос-ответ:

Какая технико-экономическая характеристика объекта создания СУБД для детской клинической больницы?

Технико-экономическая характеристика объекта создания СУБД для детской клинической больницы включает в себя описание необходимых аппаратных и программных средств, а также оценку затрат на реализацию и поддержку системы.

Какой анализ используемой обработки информации проведен на предприятии?

На предприятии был проведен анализ используемой обработки информации, который позволил определить необходимость создания СУБД. Была проанализирована текущая система учета данных, выявлены ее недостатки и потребности предприятия в автоматизации процессов.

Какие задачи стоят перед созданием СУБД для детской клинической больницы?

Перед созданием СУБД для детской клинической больницы стоят следующие задачи: определение организационно-экономической сущности задачи, описание входной и выходной информации, выбор аппаратных и программных средств, обеспечение информационного обеспечения.

Какая информация является входной для создания СУБД для детской клинической больницы?

Входная информация для создания СУБД для детской клинической больницы включает в себя данные о пациентах, их медицинской истории, проведенных процедурах и лечении, а также данные о сотрудниках больницы и медицинских услугах, предоставляемых клинической больницей.

Что включает в себя информационное обеспечение задачи создания СУБД для детской клинической больницы?

Информационное обеспечение задачи создания СУБД для детской клинической больницы включает в себя описание входной оперативной информации и базы данных, используемой для решения задачи. Входная оперативная информация включает данные о пациентах и сотрудниках больницы, а база данных содержит информацию о медицинской истории пациентов, процедурах и лечении.

Зачем нужна СУБД для детской клинической больницы?

Создание СУБД для детской клинической больницы позволяет упорядочить и эффективно управлять информацией о пациентах, записями, назначениями и другими медицинскими данными. Это помогает облегчить работу врачей, медсестер и другого медицинского персонала, а также повысить качество и скорость предоставления медицинской помощи детям.

Какие задачи решает создание СУБД для детской клинической больницы?

Создание СУБД для детской клинической больницы помогает решить такие задачи, как учет и хранение информации о пациентах, записи результатов обследований, ведение электронных медицинских карт, планирование приема пациентов, контроль назначений и лекарственных препаратов, анализ статистики по различным показателям и другие задачи, связанные с организацией и управлением деятельностью больницы.

Какие аппаратные и программные средства используются для создания СУБД для детской клинической больницы?

Для создания СУБД для детской клинической больницы могут использоваться компьютеры или серверы, операционная система, база данных, специальное программное обеспечение для работы с медицинской информацией, программы для ведения электронных медицинских карт, программы для планирования приема пациентов и другие программы, необходимые для решения задач данной больницы.

Какие данные содержит база данных, используемая для решения задачи в детской клинической больнице?

База данных, используемая для решения задачи в детской клинической больнице, может содержать информацию о пациентах (ФИО, возраст, пол, контактные данные), медицинские записи (результаты обследований, диагнозы, назначения), данные о лекарственных препаратах и их выдаче, информацию о приеме пациентов, статистическую информацию о работе больницы (количество посещений, количество операций и т.д.) и другие данные, необходимые для эффективного организационного и медицинского управления.

Зачем нужна СУБД для детской клинической больницы?

Создание СУБД для детской клинической больницы помогает оптимизировать обработку информации, упростить доступ к данным и повысить качество медицинского обслуживания пациентов.

Какие задачи решает СУБД в детской клинической больнице?

СУБД позволяет хранить информацию о пациентах, расписаниях врачей, лечении и результатах обследований. Она также позволяет выполнять запросы на поиск нужных данных, генерировать отчеты и автоматизировать рутинные задачи, что помогает повысить эффективность работы медицинского персонала.