Разработка базы данных для автоматизации деятельности специалиста по технике безопасности и охраны труда
Информационная система – совокупность организационных, технических и программных средств, объединенных в единую систему для сбора, хранения, обработки, выдачи необходимой информации. Анализ особенностей инфологической, логической моделей базы данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.09.2017 |
Размер файла | 675,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Введение
В настоящее время информационные системы используются повсеместно. Они стали неотъемлемой частью большинства рабочих процессов. Их внедрение приводит к улучшению качества продукции, ускорению обработки информации, уменьшению трудовых и экономических затрат.
Информационная система - представляет собой совокупность организационных, технических, программных и информационных средств, объединенных в единую систему с целью сбора, хранения, обработки и выдачи необходимой информации, предназначена для выполнения заданных функций.
Автоматизация производственных процессов также стало распространённым явлением. Автоматизация облегчает и ускоряет работу.
Автоматизация - одно из направлений научно-технического прогресса, применение саморегулирующих технических средств, экономико-математических методов и систем управления, освобождающих человека от участия в процессах получения, преобразования, передачи и использования энергии, материалов или информации, существенно уменьшающих степень этого участия или трудоемкость выполняемых операций.
Цель данной курсовой работы - разработка базы данных для автоматизации деятельности специалиста по ТБ и ОТ.
Задачи работы:
- постановка задачи;
- проектирование логической модели;
- создание физической модели;
- формирование БД;
- создание запросов;
- создание интерфейса к БД.
1. Постановка задачи
Контроль ТБ - это трудоёмкая задача. Функции для системы автоматизации деятельности специалиста по ТБ следующие:
- учёт персонала;
- учёт травм и несчастных случаев;
- формирование графиков медосмотров;
- учёт результатов медосмотров;
- учёт результатов тестирования персонала;
- учёт нарушений охраны труда;
- формирование отчётов.
Для решения поставленной задачи потребуется учитывать следующие данные:
- персонал;
- работа;
- медосмотры;
- проверки;
- прохождение медосмотра;
- прохождение проверки;
- инциденты;
- участники;
- предписания;
- список инцидентов для основания.
Рассмотрим реквизиты персонала:
- ФИО;
- дата рождения;
- пол;
- адрес регистрации;
- номер телефона;
- СНИЛС;
- серия и номер паспорта.
Работа для каждого служащего идентифицируется должностью и отделом, работает или уволен.
Реквизиты медосмотра:
- дата проведения;
- краткое описание.
Реквизиты проверки знаний:
- дата проведения;
- краткое описание.
Прохождение медосмотра это:
- сотрудник;
- пройдено или нет;
- причина не прохождения.
Прохождение проверки это:
- сотрудник;
- пройдено или нет;
- причина не прохождения.
Инцидент характеризуется:
- номер инцидента;
- дата и время;
- тип инцидента;
- описание;
- была ли получена травма.
Участник:
- сотрудник;
- роль.
Предписание:
- сотрудник;
- дата создания;
- действительно.
Список инцидентов содержит номера инцидентов.
Из рассмотренных данных видно, что медосмотр и проверка можно объединить в одну сущность: график. С также объединить прохождение в единое.
Следовательно, БД будет состоять из следующих сущностей:
- персонал;
- график;
- инцидент;
- предписание;
- прохождение;
- работа;
- участник;
- список.
Также, в системе должны фигурировать следующие справочники: должность; отдел; причина; тип инцидента; роль.
2. Логическая модель
Для реализации поставленной задачи требуется разработать базу данных со следующими сущностями:
- данные о персонале;
- данные о работе;
- данные о графиках;
- данные о прохождении;
- данные о инцидентах;
- данные об участниках;
- данные о предписаниях;
- списки.
Справочники:
- отделы;
- должности;
- роли;
- типы инцидентов;
- причины.
Рассмотрим связи между сущностями и справочниками.
Рассмотрим связи между сущностями подробнее:
1. «Должность» - «Работает», тип связи «один-ко-многим», ограничение not null;
2. «Отделение» - «Работает», тип связи «один-ко-многим», ограничение not null;
3. «Персонал» - «Работает», тип связи «один-ко-многим», ограничение not null;
4. «График» - «Прохождение», тип связи «один-ко-многим», ограничение not null;
5. «Причина» - «Прохождение», тип связи «один-ко-многим»;
6. «Персонал» - «Прохождение», тип связи «один-ко-многим», ограничение not null;
7. «Тип случая» - «Случай», тип связи «один-ко-многим», ограничение not null;
8. «Случай» - «Участник», тип связи «один-ко-многим», ограничение not null;
9. «Роль» - «Участник», тип связи «один-ко-многим», ограничение not null;
10. «Персонал» - «Участник», тип связи «один-ко-многим», ограничение not null;
11. «Персонал» - «Предписание», тип связи «один-ко-многим», ограничение not null;
12. «Предписание» - «Список», тип связи «один-ко-многим», ограничение not null;
13. «Инцидент» - «Список», тип связи «один-ко-многим», ограничение not null.
Инфологическая модель представлена на рисунке 1.
Рисунок 1 - Инфологическая модель базы данных
Теперь можно разработать логическую модель базы данных. Рассмотрим атрибуты сущностей. В качестве первичного ключа для каждой сущности введём понятие идентификатор - код. Данный код должен быть возрастать с шагом в 1.
В таблице 1 представлены сущности и их атрибуты. На рисунке 2 построена логическая модель базы данных.
инфологический программный логический
Таблица 1 - Атрибуты сущностей
Сущность |
Атрибуты |
|
Служащий |
код; ФИО; дата рождения; пол; телефон; адрес; паспорт; СНИЛС. |
|
Работа |
код; должность; отдел; служащий; работает. |
|
График |
код; тип; начало; описание. |
|
Прохождение |
код; расписание; служащий; причина, по которой не прошёл; пройдено. |
|
Инцидент |
код; тип инцидента; произошло; описание; травма. |
|
Участник |
код; инцидент; служащий; роль. |
|
Предписания |
код; создано; описание; служащий. |
|
Список инцидентов |
код; предписание; инцидент. |
|
Должность |
код; название. |
|
Отдел |
||
Причина |
код; название. |
|
Тип инцидента |
код; название. |
|
Роль |
код; название. |
Рисунок 2 - Логическая модель базы данных
3. Физическая модель
База данных состоит из следующих таблиц:
1. Post;
2. Department;
3. Job;
4. Personal;
5. Schedule;
6. Reason;
7. Pass;
8. Incident;
9. TypeIncident;
10. Actor;
11. Role;
12. Instruction;
13. ListIncident.
В таблицах 2 - представлен состав таблиц базы данных.
Таблица 2 - «Post»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Name |
varchar |
50, not null |
Таблица 3 - «Department»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Name |
varchar |
50, not null |
Таблица 4 - «Job»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Personal |
int |
FK, not null |
|
Department |
Int |
FK, not null |
|
Post |
Int |
FK, not null |
|
EndJob |
bit |
Таблица 5 - «Personal»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
FIO |
varchar |
60, not null |
|
Birthdate |
datetime |
||
Sex |
char |
1, not null |
|
Phone |
varchar |
15 |
|
Address |
varchar |
100 |
|
SNILS |
varchar |
12 |
|
Passport |
varchar |
10 |
Таблица 6 - «Schedule»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
TypeSched |
int |
Not null |
|
sDate |
datetime |
Not null |
|
Description |
varchar |
100 |
Таблица 7 - «Reason»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Name |
varchar |
50, not null |
Таблица 8 - «Pass»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Schedule |
int |
FK, not null |
|
Personal |
int |
FK, not null |
|
Reason |
int |
FK |
|
EndPass |
bit |
Таблица 9 - «Incident»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
TypeIncident |
int |
FK, not null |
|
sDate |
datetime |
Not null |
|
Description |
text |
||
Travma |
bit |
Таблица 10 - «TypeIncident»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Name |
varchar |
50, not null |
Таблица 11 - «Actor»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Incident |
int |
FK, not null |
|
Personal |
int |
FK, not null |
|
Role |
int |
FK, not null |
Таблица 12 - «Role»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Name |
varchar |
50, not null |
Таблица 13 - «Instruction»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
sDate |
datetime |
Not null |
|
Description |
Varchar |
100 |
|
Personal |
int |
FK, not null |
|
EndInstruction |
bit |
Таблица 14 - «ListInstruction»
Поле |
Тип |
Ограничения |
|
ID |
int |
PK |
|
Instruction |
int |
FK, not null |
|
Incident |
int |
FK, not null |
На рисунке 3 представлена ER-диаграмма базы данных АРМ инженера по ТБ.
Рисунок 3 - ER-модель базы данных
Сформируем из данной ER-модели схему данных в MS SQL Server - рисунок 4.
Рисунок 4 - Схема данных
4. Связь приложения с базой данных
Среда Delphi является одной из наилучших сочетаний объектно-ориентированного и визуального программирования.
Технология Microsoft ActiveX Data Objects обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.
Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов. Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, хранящимся на корпоративном сервере SQL, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.
В Delphi была реализована возможность работы с технологией ADO через компоненты. Это позволяет быстро создавать системы управления базами данных любой сложности.
Компонент TADOConnection вобрал возможности перечислителя, источника данных и сессии с возможностями обслуживания транзакций.
Четыре компонента наборов данных (ADODataSet, ADOTable, ADOQuery и ADOStoredProc) фактически полностью реализованы общим для них базовым классом TCustomADODataSet. Этот компонент несет ответственность за выполнение большинства функций, присущих набору данных. Производные компоненты являются тонкими оболочками, которые делают доступными для внешнего мира те или иные возможности базового компонента. Таким образом, компоненты обладают множеством общих черт.
Компоненты доступа к данным ADO могут использовать два варианта подключения к хранилищу данных. Это стандартный метод ADO и стандартный метод Delphi.
В первом случае компоненты используют свойство connectionstring для прямого обращения к хранилищу данных. Во втором случае используется специальный компонент TADOConnection, который обеспечивает расширенное управление соединением и позволяет обращаться к данным нескольким компонентам одновременно.
Connectionstring.
Свойство connectionstring предназначено для хранения информации о соединении с объектом ADO. В нем через точку с запятой перечисляются все необходимые параметры. Как минимум, это должны быть имена провайдера соединения или удаленного сервера:
Connectionstring: = 'Remote Server=ServerName;Provider=ProviderName';
При необходимости указываются путь к удаленному провайдеру:
Connectionstring: = 'Remote Provider=ProviderName';
…и параметры, необходимые провайдеру:
'User Name=User_Name;Password=Password';
Каждый компонент, обращающийся к хранилищу данных ADO самостоятельно, задавая параметры соединения в свойстве Connectionstring, открывает собственное соединение. Чем больше приложение содержит компонентов ADO, тем больше соединений может быть открыто одновременно.
Поэтому целесообразно реализовать механизм соединения ADO через специальный компонент - TADOConnection. Этот компонент открывает соединение, также заданное свойством Connectionstring, и предоставляет разработчику дополнительные средства управления соединением.
Настройку свойства connectionstring можно осуществлять с помощью мастера. В начале, нужно указать провайдер данных, в случае подключения к MS SQl Server - Microsoft OLE DB Provider for SQL Server. Пример показан на рисунке 5.
Рисунок 5 - Выбор провайдера данных
Затем, указываем имя сервера, указываем параметры для входа в сервер. После чего, становится доступным выбор каталога базы данных. Пример данного окна настройки показан на рисунке 6.
Рисунок 6 - Настройка подключения
В данном приложении для связи с базой данных используется технология ADO. Для подключения к БД компонент ADOConnection. Для получения данных из каждой таблицы используется компонент класса TADOTable. Для создания запросов к базе данных, например формирования отчётов применяется компонент класса TADOQuery.
На рисунке 7 представлен пример дата модуля, где настроена связь с БД.
Рисунок 7 - Модуль данных
5. Разработка приложения
Для формирования отчётов требуется разработать запросы к базе данных. Ниже представлены запросы для всех отчётов.
Для отчёта о графике медосмотров за период требуется запрос:
«select
convert(varchar,s.sDate,104) +' '+ isNull(s.Description,'') as [Осмотр]
,isNull(pr.FIO,'Не начинался') as [Работник]
,case when isNull(r.Name,'''')='''' then '''' else isNull(r.Name,'''') end as [Причина]
,case when isNull(pr.FIO,'''')='' then '''' else (case when isNull(p.PassEnd,0)=1 then '' Пройдено'' else ''Не пройдено'' end) end as [Пройдено]
from Schedule s
left join Pass p on p.Schedule=s.ID
left join Personal pr on pr.ID=p.Personal
left join Reason r on r.ID=p.Reason».
Для отчёта о графике проверок за период требуется запрос:
«select
convert(varchar,s.sDate,104) +' '+ isNull(s.Description,'') as [Проверка]
,isNull(pr.FIO,'Не начинался') as [Работник]
,case when isNull(r.Name,'''')='''' then '''' else isNull(r.Name,'''') end as [Причина]
,case when isNull(pr.FIO,'''')='' then '''' else (case when isNull(p.PassEnd,0)=1 then '' Пройдено'' else ''Не пройдено'' end) end as [Пройдено]
from Schedule s
left join Pass p on p.Schedule=s.ID
left join Personal pr on pr.ID=p.Personal
left join Reason r on r.ID=p.Reason».
Для отчёта о инцидентах с травмами за период требуется запрос:
«cast(i.ID as varchar(5))+'' ''+i.Name+'' ''+ti.Name as [Инцидент]
,r.Name+'' ''+p.FIO as [Участник]
from Incident i
inner join actor a on a.Incident = i.ID
inner join Personal p on p.ID=a.Personal
inner join Role r on r.ID=a.Role
left join TypeIncident ti on ti.ID=i.TypeIncident
where (i.sDate between :sdt and :edt) and (isNull(i.Travma,0)=0)
order by i.sDate».
Для отчёта о инцидентах по работнику за период требуется запрос:
«select
i.ID as [Номер]
,i.Name as [Название]
,ti.Name as [Тип]
,r.Name as [Роль]
from Incident i
inner join actor a on a.Incident = i.ID
inner join Personal p on p.ID=a.Personal
inner join [Role] r on r.ID=a.Role
left join TypeIncident ti on ti.ID=i.TypeIncident
where (a.Personal=:pr) and (i.sDate between :sdt and :edt)
order by i.sDate».
На рисунке 8 представлено главное окно, разработанное в среде Delphi. В верхней части окна расположена таблица инцидентов. Под ней расположены поля управления данными. Ниже расположена таблица участников инцидентов.
Рисунок 8 - Главное окно
Для редактирования списка участников требуется в нижней таблице вызвать всплывающее меню и выбрать пункт добавить. Откроется окно управление участниками - рисунок 9.
Рисунок 9 - Окно управление участниками
Для управления данными о медосмотрах требуется в главном меню выбрать пункты: «Основное» - «Медосмотр». Откроется окно, которое изображено на рисунке 10.
Рисунок 10 - Окно медосмотров
Окно так же, как и главное разделено на три отдела: главная таблица медосмотров, поля данных медосмотра, таблица прохождения. Для редактирования прохождения требуется, как и в главном окне, вызвать всплывающее меню и выбрать пункт «Добавить». Откроется окно, представленное на рисунке 11.
Рисунок 11 - Окно прохождения
Рассмотрим окно управления данными о предписаниях - рисунок 12. Окно выдержано в том же стиле.
Рисунок 12 - Окно предписаний
В таком же стиле оформлено окно редактирования списка инцидентов, на основании которых было составлено предписание - рисунок 13.
Рисунок 13 - Список инцидентов
6. Листинг программы
unit uMain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.Menus, Vcl.Grids,
Vcl.DBGrids, Vcl.DBCtrls, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.Mask, Vcl.ExtCtrls;
type
TfrmMain = class(TForm)
pnlMain: TPanel;
pnlGrid: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
btnCancel: TButton;
btnSave: TButton;
pnlLeft: TPanel;
pnlRight: TPanel;
pmLeft: TPopupMenu;
pmRight: TPopupMenu;
edtFIO: TDBEdit;
dtpBirthdate: TDateTimePicker;
cbWork: TDBCheckBox;
edtPhone: TDBEdit;
cbSpec: TDBLookupComboBox;
grdLeft: TDBGrid;
grdRight: TDBGrid;
mm: TMainMenu;
imWorker: TMenuItem;
imEdit: TMenuItem;
N5: TMenuItem;
imSearch: TMenuItem;
imLibrary: TMenuItem;
imLibrary1: TMenuItem;
imLibrary3: TMenuItem;
imLibrary4: TMenuItem;
N14: TMenuItem;
imItem: TMenuItem;
imReport: TMenuItem;
imSettings: TMenuItem;
imLinking: TMenuItem;
imReport1: TMenuItem;
imReport2: TMenuItem;
imReport3: TMenuItem;
imAddLeft: TMenuItem;
imEditLeft: TMenuItem;
imDeleteLeft: TMenuItem;
imAddRight: TMenuItem;
imEditRight: TMenuItem;
imDeleteRight: TMenuItem;
Label6: TLabel;
edtNomer: TDBEdit;
cbCeh: TDBLookupComboBox;
Label5: TLabel;
imCeh2: TMenuItem;
cbSex: TDBComboBox;
edtRazr: TDBEdit;
Label7: TLabel;
Label8: TLabel;
procedure FormShow(Sender: TObject);
procedure pmLeftPopup(Sender: TObject);
procedure pmRightPopup(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure imEditClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure imAddLeftClick(Sender: TObject);
procedure imEditLeftClick(Sender: TObject);
procedure imAddRightClick(Sender: TObject);
procedure imEditRightClick(Sender: TObject);
procedure imDeleteLeftClick(Sender: TObject);
procedure imDeleteRightClick(Sender: TObject);
procedure imSearchClick(Sender: TObject);
procedure imItemClick(Sender: TObject);
procedure imLibraryClick(Sender: TObject);
procedure imLinkingClick(Sender: TObject);
procedure imReportClic(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure ModeView(mode: boolean); //true - Veiw; false - Modify
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
uses
uDM, Search, uItem, uList, uVzisk, uLibrary, uReport;
//Дополнительные функции
procedure TfrmMain.btnCancelClick(Sender: TObject);
begin
DM.tblWorker.Cancel;
ModeView(true);
end;
procedure TfrmMain.btnSaveClick(Sender: TObject);
begin
DM.tblWorker.FieldByName('ДР').AsDateTime:=dtpBirthdate.DateTime;
DM.tblWorker.Post;
ModeView(true);
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
frmSearch.Show;
self.Free;
end;
procedure TfrmMain.FormShow(Sender: TObject);
begin
ModeView(Tag=0);
if Tag=1 then DM.tblWorker.Append
else dtpBirthDate.DateTime:=DM.tblWorker.FieldByName('ДР').AsDateTime;
imSettings.Visible:=DM.user.admin;
imLibrary.Visible:=not DM.user.gost;
imWorker.Visible:=not DM.user.gost;
end;
procedure TfrmMain.imAddLeftClick(Sender: TObject);
var
frm: TfrmList;
begin
Application.CreateForm(TfrmList, frm);
DM.tblList.Append;
frm.Tag:=0;
frm.ShowModal;
DM.tblList.Refresh;
end;
procedure TfrmMain.imAddRightClick(Sender: TObject);
var
frm: TfrmVzisk;
begin
Application.CreateForm(TfrmVzisk, frm);
DM.tblVzisk.Append;
frm.Tag:=0;
frm.ShowModal;
DM.tblVzisk.Refresh;
end;
procedure TfrmMain.imDeleteLeftClick(Sender: TObject);
begin
if MessageDlg('Вы действительно хотите удалить запись?',mtWarning,mbOkCancel,0)=mrOk then
DM.tblList.Delete;
end;
procedure TfrmMain.imDeleteRightClick(Sender: TObject);
begin
if MessageDlg('Вы действительно хотите удалить запись?',mtWarning,mbOkCancel,0)=mrOk then
DM.tblVzisk.Delete;
end;
procedure TfrmMain.imEditClick(Sender: TObject);
begin
ModeView(false);
DM.tblWorker.Edit;
end;
procedure TfrmMain.imEditLeftClick(Sender: TObject);
var
frm: TfrmList;
begin
Application.CreateForm(TfrmList, frm);
DM.tblList.Edit;
frm.Tag:=1;
frm.ShowModal;
end;
procedure TfrmMain.imEditRightClick(Sender: TObject);
var
frm: TfrmVzisk;
begin
Application.CreateForm(TfrmVzisk, frm);
DM.tblVzisk.Edit;
frm.Tag:=1;
frm.ShowModal;
end;
procedure TfrmMain.imLibraryClick(Sender: TObject);
var
frm: TfrmLibrary;
begin
Application.CreateForm(TfrmLibrary,frm);
frm.LoadLibrary((Sender as TMenuItem).Tag);
frm.ShowModal;
frm.Free;
end;
procedure TfrmMain.imReportClic(Sender: TObject);
var
frm: TfrmReport;
begin
Application.CreateForm(TfrmReport,frm);
frm.Tag:=(Sender as TMenuItem).Tag;
frm.ShowModal;
frm.Free;
end;
procedure TfrmMain.imLinkingClick(Sender: TObject);
begin
DM.SettingLink;
end;
procedure TfrmMain.imItemClick(Sender: TObject);
var
frm: TfrmItem;
begin
Application.CreateForm(TfrmItem, frm);
frm.ShowModal;
end;
procedure TfrmMain.imSearchClick(Sender: TObject);
begin
frmSearch.Show;
self.Free;
end;
procedure TfrmMain.ModeView(mode: boolean);//true - Veiw; false - Modify
begin
pnlGrid.Enabled:= mode;
pnlMain.Enabled:= not mode;
btnSave.Visible:= not mode;
btnCancel.Visible:= not mode;
end;
procedure TfrmMain.pmLeftPopup(Sender: TObject);
begin
if DM.user.gost then
begin
imAddLeft.Visible:=false;
imEditLeft.Visible:=false;
imDeleteLeft.Visible:=false;
end
else
begin
imAddLeft.Enabled:=edtNomer.Text<>'';
imEditLeft.Enabled:=grdLeft.DataSource.DataSet.RecordCount>0;
imDeleteLeft.Enabled:=grdLeft.DataSource.DataSet.RecordCount>0;
end;
end;
procedure TfrmMain.pmRightPopup(Sender: TObject);
begin
if DM.user.gost then
begin
imAddRight.Visible:=false;
imEditRight.Visible:=false;
imDeleteRight.Visible:=false;
end
else
begin
imAddRight.Enabled:=edtNomer.Text<>'';
imEditRight.Enabled:=grdRight.DataSource.DataSet.RecordCount>0;
imDeleteRight.Enabled:=grdRight.DataSource.DataSet.RecordCount>0;
end;
end;
end.
Дамп базы данных
USE [master]
GO
/****** Object: Database [TB] Script Date: 05/14/2017 11:12:25 ******/
CREATE DATABASE [TB] ON PRIMARY
( NAME = N'TB', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008\MSSQL\DATA\TB.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'TB_log', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008\MSSQL\DATA\TB_1.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [TB] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [TB].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [TB] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [TB] SET ANSI_NULLS OFF
GO
ALTER DATABASE [TB] SET ANSI_PADDING OFF
GO
ALTER DATABASE [TB] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [TB] SET ARITHABORT OFF
GO
ALTER DATABASE [TB] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [TB] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [TB] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [TB] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [TB] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [TB] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [TB] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [TB] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [TB] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [TB] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [TB] SET DISABLE_BROKER
GO
ALTER DATABASE [TB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [TB] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [TB] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [TB] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [TB] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [TB] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [TB] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [TB] SET READ_WRITE
GO
ALTER DATABASE [TB] SET RECOVERY SIMPLE
GO
ALTER DATABASE [TB] SET MULTI_USER
GO
ALTER DATABASE [TB] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [TB] SET DB_CHAINING OFF
GO
USE [TB]
GO
/****** Object: Table [dbo].[Department] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Department](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
CONSTRAINT [PK_Department] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[TypeIncident] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TypeIncident](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
CONSTRAINT [PK_TypeIncident] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Schedule] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Schedule](
[ID] [int] IDENTITY(1,1) NOT NULL,
[TypeSched] [int] NOT NULL,
[sDate] [datetime] NOT NULL,
[Description] [varchar](100) NULL,
CONSTRAINT [PK_Schedule] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Role] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Role](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Reason] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Reason](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
CONSTRAINT [PK_Reason] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Post] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Post](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
CONSTRAINT [PK_Post] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Personal] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Personal](
[ID] [int] IDENTITY(1,1) NOT NULL,
[FIO] [varchar](60) NOT NULL,
[Birthdate] [datetime] NOT NULL,
[Sex] [char](1) NOT NULL,
[Phone] [varchar](15) NOT NULL,
[Address] [varchar](100) NULL,
[SNILS] [varchar](12) NULL,
[Passport] [varchar](10) NULL,
CONSTRAINT [PK_Personal] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Pass] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Pass](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Schedule] [int] NOT NULL,
[Personal] [int] NOT NULL,
[Reason] [int] NULL,
[PassEnd] [bit] NULL,
CONSTRAINT [PK_Pass] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Job] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Job](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Personal] [int] NOT NULL,
[Department] [int] NOT NULL,
[Post] [int] NOT NULL,
[EndJob] [bit] NULL,
CONSTRAINT [PK_Job] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Instruction] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Instruction](
[ID] [int] IDENTITY(1,1) NOT NULL,
[sDate] [datetime] NOT NULL,
[Description] [varchar](100) NULL,
[Personal] [int] NOT NULL,
[EndInstruction] [bit] NULL,
CONSTRAINT [PK_Instruction] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Incident] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Incident](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
[TypeIncident] [int] NOT NULL,
[sDate] [datetime] NOT NULL,
[Description] [text] NULL,
[Travma] [bit] NULL,
CONSTRAINT [PK_Incident] PRIMARY KEY CLUSTERED
([ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Actor] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Actor](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Incident] [int] NOT NULL,
[Personal] [int] NOT NULL,
[Role] [int] NOT NULL,
CONSTRAINT [PK_Actor] PRIMARY KEY CLUSTERED
([ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[ListIncident] Script Date: 05/14/2017 11:12:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ListIncident](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Instruction] [int] NOT NULL,
[Incident] [int] NOT NULL,
CONSTRAINT [PK_ListIncident] PRIMARY KEY CLUSTERED
([ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: ForeignKey [FK_Pass_Personal] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Pass] WITH CHECK ADD CONSTRAINT [FK_Pass_Personal] FOREIGN KEY([Personal])
REFERENCES [dbo].[Personal] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Pass] CHECK CONSTRAINT [FK_Pass_Personal]
GO
/****** Object: ForeignKey [FK_Pass_Reason] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Pass] WITH CHECK ADD CONSTRAINT [FK_Pass_Reason] FOREIGN KEY([Reason])
REFERENCES [dbo].[Reason] ([ID])
ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[Pass] CHECK CONSTRAINT [FK_Pass_Reason]
GO
/****** Object: ForeignKey [FK_Pass_Schedule] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Pass] WITH CHECK ADD CONSTRAINT [FK_Pass_Schedule] FOREIGN KEY([Schedule])
REFERENCES [dbo].[Schedule] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Pass] CHECK CONSTRAINT [FK_Pass_Schedule]
GO
/****** Object: ForeignKey [FK_Job_Department] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Job] WITH CHECK ADD CONSTRAINT [FK_Job_Department] FOREIGN KEY([Department])
REFERENCES [dbo].[Department] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Job] CHECK CONSTRAINT [FK_Job_Department]
GO
/****** Object: ForeignKey [FK_Job_Personal] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Job] WITH CHECK ADD CONSTRAINT [FK_Job_Personal] FOREIGN KEY([Personal])
REFERENCES [dbo].[Personal] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Job] CHECK CONSTRAINT [FK_Job_Personal]
GO
/****** Object: ForeignKey [FK_Job_Post] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Job] WITH CHECK ADD CONSTRAINT [FK_Job_Post] FOREIGN KEY([Post])
REFERENCES [dbo].[Post] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Job] CHECK CONSTRAINT [FK_Job_Post]
GO
/****** Object: ForeignKey [FK_Instruction_Personal] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Instruction] WITH CHECK ADD CONSTRAINT [FK_Instruction_Personal] FOREIGN KEY([Personal])
REFERENCES [dbo].[Personal] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Instruction] CHECK CONSTRAINT [FK_Instruction_Personal]
GO
/****** Object: ForeignKey [FK_Incident_TypeIncident] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Incident] WITH CHECK ADD CONSTRAINT [FK_Incident_TypeIncident] FOREIGN KEY([TypeIncident])
REFERENCES [dbo].[TypeIncident] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Incident] CHECK CONSTRAINT [FK_Incident_TypeIncident]
GO
/****** Object: ForeignKey [FK_Actor_Incident] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Actor] WITH CHECK ADD CONSTRAINT [FK_Actor_Incident] FOREIGN KEY([Incident])
REFERENCES [dbo].[Incident] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Actor] CHECK CONSTRAINT [FK_Actor_Incident]
GO
/****** Object: ForeignKey [FK_Actor_Personal] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Actor] WITH CHECK ADD CONSTRAINT [FK_Actor_Personal] FOREIGN KEY([Personal])
REFERENCES [dbo].[Personal] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Actor] CHECK CONSTRAINT [FK_Actor_Personal]
GO
/****** Object: ForeignKey [FK_Actor_Role] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[Actor] WITH CHECK ADD CONSTRAINT [FK_Actor_Role] FOREIGN KEY([Role])
REFERENCES [dbo].[Role] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Actor] CHECK CONSTRAINT [FK_Actor_Role]
GO
/****** Object: ForeignKey [FK_ListIncident_Incident] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[ListIncident] WITH CHECK ADD CONSTRAINT [FK_ListIncident_Incident] FOREIGN KEY([Incident])
REFERENCES [dbo].[Incident] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[ListIncident] CHECK CONSTRAINT [FK_ListIncident_Incident]
GO
/****** Object: ForeignKey [FK_ListIncident_Instruction] Script Date: 05/14/2017 11:12:26 ******/
ALTER TABLE [dbo].[ListIncident] WITH CHECK ADD CONSTRAINT [FK_ListIncident_Instruction] FOREIGN KEY([Instruction])
REFERENCES [dbo].[Instruction] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[ListIncident] CHECK CONSTRAINT [FK_ListIncident_Instruction]
GO
Заключение
В данной курсовой работе требовалось спроектировать АРМ инженера по ТБ.
Определены функции приложения:
- учёт персонала;
- учёт травм и несчастных случаев;
- формирование графиков медосмотров;
- учёт результатов медосмотров;
- учёт результатов тестирования персонала;
- учёт нарушений охраны труда;
- формирование отчётов.
В проектной главе была произведена постановка задачи. Выведены сущности, которые составляют базу данных системы: персонал; график; инцидент; предписание; прохождение; работа; участник; список.
Построена инфологическая модель базы данных, рассмотрены связи между сущностями.
Спроектирована физическая модель БД, база данных состоит из следующих таблиц: Post; Department; Job; Personal; Schedule; Reason; Pass; Incident; TypeIncident; Actor; Role; Instruction; ListIncident.
Построены запросы. Создан интерфейс пользователя.
Литература
1. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. - СПб.: Питер, 2015. - 368с.
2. Грофф Д., Вайнберг П., Оппель Э. SQL. Полное руководство. - СПб.: Вильямс, 214. - 960с.
3. Илюшечкин В. Основы использования и проектирования баз данных. Учебник. - М.:Юрайт, 2014. - 214с.
4. Коваленко В. Проектирование информационных систем. / Коваленко В. - М.: Форум, 2012. - 320с.
5. Кузнецов С. Базы данных. - М.: Academia, 2012. - 496с.
6. Основы использования и проектирования баз данных. Учебник / Илюшечкин В. - М.: Юрайт, 2014. - 214с.
7. Осипов Д. Delphi. Программирование для Windows, OS X, iOS и Android. - СПб.: БХВ-Петербург, 2016. - 310с.
Размещено на Allbest.ru
Подобные документы
Анализ и оценка эффективности существующей системы обработки информации. Выбор технических и программных средств. Описание этапов проектирования базы данных "Аудиотека" и ее особенностей. Разработка инфологической модели и программного приложения.
курсовая работа [877,9 K], добавлен 06.06.2013Базы данных. СУБД. Виды баз данных. Разработка базы данных "Информационная система гостиничного комплекса". Эксплуатация программных средств. Расчет себестоимости программного продукта. Мероприятия по технике безопасности и противопожарной технике.
дипломная работа [91,2 K], добавлен 11.10.2008Проектирование логической структуры базы данных методом нормальных форм, сущность связь. Сравнительный анализ спроектированной базы данных и базы данных существующих информационных систем. Выбор и обоснование состава технических и программных средств.
курсовая работа [3,0 M], добавлен 22.12.2014Процесс разработки базы данных для хранения и обработки информации. Ключи, индексы, триггеры, хранимые процедуры. Разработка пользовательского интерфейса и базы данных. Основные инструментальные средства для разработки клиентской и серверной частей.
дипломная работа [225,0 K], добавлен 18.05.2013Создание информационную систему "Сеть магазинов" в виде реляционной базы данных и операциями над ней. Создание базы данных в СУБД DB2. Описание и обоснование выбора состава технических и программных средств. Разработка пользовательского приложения.
курсовая работа [1,1 M], добавлен 19.05.2013Разработка информационно-аналитической системы агентства недвижимости. Обоснование выбора архитектуры базы данных и СУБД. Моделирование потоков данных (DFD диаграмм). Проектирование инфологической модели данных с использованием модели "сущность-связь".
дипломная работа [5,4 M], добавлен 06.06.2013Характеристика основных этапов разработок и проектирования базы данных, определение целей ее создания и функциональных особенностей, предметной области и необходимой информации. Требования к инфологической модели. Методы физической организации данных.
курсовая работа [1,7 M], добавлен 22.02.2011Исследование значения информации и информационных услуг в современном мире. Изучение истории хранения и обработки информации. Проектирование инфологической модели базы данных. Реляционная модель баз данных. Домены и отношения. Реляционное исчисление.
курсовая работа [47,9 K], добавлен 13.07.2015Базы данных как совокупность структур, предназначенных для хранения больших объемов информации и программных модулей. Основные особенности создания базы данных автобусного парка, анализ этапов проектирования. PHP как скриптовый язык программирования.
курсовая работа [1,9 M], добавлен 04.04.2013Система управления базами данных как совокупность программных и языковых средств, предназначенных для создания и обработки данных. Анализ деятельности обувной мастерской. Особенности разработки функциональной диаграммы и тестирования программного модуля.
дипломная работа [2,9 M], добавлен 04.11.2012