Файл: Дипломный проектработа тема работы.pdf

ВУЗ: Не указан

Категория: Дипломная работа

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 164

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

71
Приложение 2. Схема физической модели БД
Событие
PK
Id
Дата и время
Id тип события
Id дежурство
Id место события
Id карта
Владелец карты
1
FK
,
PK
Id
Id
Персоны
Id карты
Id
Статус
Id должность
Id отдел
Id автотранспорта
Id присутствие
Идентификационная карта
2
FK
,
1
FK
,
1
FK
,
PK
Id
Дата окончания
Дата выдачи
Номер карты физический
Место события
1
FK
,
1
FK
,
PK
Id
Название места
Описание места
Тип события
1
FK
,
1
FK
,
PK
Id
Название типа
Описание типа
Дежурства
1
FK
,
1
FK
,
PK
Id
Дата и время начала
Дата и время окончания
Id владелец карты (ответственныи)
Id
Роль ответственного
Должность
1
FK
,
1
FK
,
PK
Id
Название
Отдел
1
FK
,
1
FK
,
PK
Id
Название отдела
Автотранспорт
1
FK
,
1
FK
,
PK
Id
Марка
Модель
Цвет
Гос. номер
Разрешение (допуск)
Персона
2
FK
,
1
FK
,
PK
Id
Фамилия
Имя
Отчество
Фото
Роль ответственного
1
FK
,
PK
Id
Название роли
Описание роли
Статус
1
FK
,
PK
Id
Название статуса
Описание статуса
Присутствие
2
FK
,
1
FK
,
PK
Id
Название
Описание
Статус персоны (представление)
PK
Id
Фамилия
Имя
Отчество
Описание.Присуствие

72
Приложение 3. Скрипит на SQL создания базы данных
Скрипит на SQL создания базы данных согласно разработанной физической модели базы данных.
# HeidiSQL Dump
#
# --------------------------------------------------------
# Database: KDP2
# Server version: 5.0.45
# Server OS: redhat-linux-gnu
# Target compatibility: HeidiSQL w/ MySQL Server 5.0
# Date/time: 2016-05-08 17:29:44
# --------------------------------------------------------
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;*/
# Database structure for database 'KDP2'
CREATE DATABASE `KDP2` /*!40100 DEFAULT CHARACTER SET cp1251 */;
USE `KDP2`;
# Table structure for table 'avto'
CREATE TABLE `avto` (
`id` int(10) NOT NULL auto_increment,

73
Приложение 3 (продолжение)
`marka` varchar(50) default NULL,
`model` varchar(50) default NULL,
`cvet` varchar(50) default NULL,
`gos_nomer` varchar(50) default NULL,
`dopusk` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'dezurstv'
CREATE TABLE `dezurstv` (
`id` int(10) NOT NULL auto_increment,
`data_vremya_nac` datetime default NULL,
`data_vremya_okonc` datetime default NULL,
`id_vladelec_kart` int(10) default NULL,
`id_rol_otvetstv` int(10) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'dolznost'
CREATE TABLE `dolznost` (
`id` int(10) NOT NULL auto_increment,
`nazvanie` varchar(50) default NULL,
PRIMARY KEY (`id`)


74
Приложение 3 (продолжение)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'ident_card'
CREATE TABLE `ident_card` (
`id` int(10) NOT NULL auto_increment,
`data_vidaci` datetime default NULL,
`data_okoncan` datetime default NULL,
`nomer_karta` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'mesto_sobitia'
CREATE TABLE `mesto_sobitia` (
`id` int(10) NOT NULL auto_increment,
`nazv_mesta` varchar(50) default NULL,
`opis_mesta` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'otdel'
CREATE TABLE `otdel` (
`id` int(10) NOT NULL auto_increment,
`nazv_otdel` varchar(50) default NULL,
PRIMARY KEY (`id`)

75
Приложение 3 (продолжение)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'persona'
CREATE TABLE `persona` (
`id` int(10) NOT NULL auto_increment,
`familia` varchar(50) default NULL,
`imya` varchar(50) default NULL,
`otchestvo` varchar(50) default NULL,
`foto` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=cp1251;
# Table structure for table 'prisust'
CREATE TABLE `prisust` (
`id` int(10) unsigned NOT NULL auto_increment,
`tip_prisust` varchar(50) default NULL,
`opis_tip_prisust` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=cp1251;
# Table structure for table 'rol_otvetstv'
CREATE TABLE `rol_otvetstv` (
`id` int(10) NOT NULL auto_increment,
`nazv_roli` varchar(50) default NULL,

76
Приложение 3 (продолжение)
`opis_roli` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'sobitie'
CREATE TABLE `sobitie` (
`id` int(10) NOT NULL auto_increment,
`data_vremya` datetime default NULL,
`id_tip_sob` int(10) default NULL,
`id_dezurstv` int(10) default NULL,
`id_mesto_sobitia` int(10) default NULL,
`id_ident_card` int(10) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'status'
CREATE TABLE `status` (
`id` int(10) NOT NULL auto_increment,
`navz_status` varchar(50) default NULL,
`opis_status` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
# Table structure for table 'tip_sob'

77
Приложение 3 (продолжение)
CREATE TABLE `tip_sob` (
`id` int(10) NOT NULL auto_increment,
`navz_tip_sob` varchar(50) default NULL,
`opis_tip_sob` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=cp1251;
# Table structure for table 'vlad_card'
CREATE TABLE `vlad_card` (
`id` int(10) NOT NULL auto_increment,
`id_persona` int(10) default NULL,
`id_card` int(10) default NULL,
`id_status` int(10) default NULL,
`id_dolznost` int(10) default NULL,
`id_otdel` int(10) default NULL,
`id_avto` int(10) default NULL,
`id_prisust` int(10) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=cp1250;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;*/

78
Приложение 4 Пример соединения с MySQL через API
MYSQL_RES *Res;
MYSQL_ROW Row;
MYSQL_FIELD *Fields;
MYSQL *FMy_Sql;
AnsiString query = query_s;
FMy_Sql = My_Connect_MySql(FMy_Sql, //MySql сервер host.c_str(), //хост user.c_str(), //пользователь password.c_str(), //пароль bd_name.c_str(), //база данных
StrToInt(port), //порт
NULL); if (FMy_Sql != NULL)
{
Application->ShowMainForm = true;
ShowWindow(Application->Handle,SW_SHOW);
Application->ProcessMessages();
SetWindowLong(Application->Handle, GWL_EXSTYLE, GetWindowLong(Application-
>Handle,GWL_EXSTYLE) || WS_EX_APPWINDOW);
SendRussianCharset(FMy_Sql); mysql_real_query(FMy_Sql,query.c_str(),query.Length());

79
Приложение 4 Продолжение if (GetError(FMy_Sql, "При показе записей объектов возникла ошибка MySql сервера:"))
{ mysql_close(FMy_Sql);
FMy_Sql = NULL; return;
}
Res=mysql_store_result(FMy_Sql); int RecordsCount = mysql_num_rows(Res);
TypeCl = new toclient[RecordsCount]; int tek_line = 1; while ((Row = mysql_fetch_row(Res)))
{
TListItem *ListItem = ListOb->Items->Add();
ListItem->Caption = Row[0];//IntToStr(tek_line);
ListItem->SubItems->Add(Row[1]); // заполняем список
ListItem->SubItems->Add(Row[2]); // событий
ListItem->SubItems->Add(Row[3]);
ListItem->SubItems->Add(Row[4]);
ListItem->SubItems->Add(Row[5]);
ListItem->SubItems->Add(Row[6]);
ListItem->SubItems->Add(Row[7]);
ListItem->SubItems->Add(Row[8]);
TypeCl[tek_line-1].id_ob = StrToInt64(Row[0]);


80
Приложение 4 Продолжение
TypeCl[tek_line-1].end_price = Row[9]; tek_line++;
} mysql_close(FMy_Sql);
FMy_Sql = NULL;
}