Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Модуль данных [7

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.11.2024

Курсовая работа

Создание информационной  системы "Клиника".

СОДЕРЖАНИЕ

[1] Курсовая работа

[2] Создание информационной  системы "Клиника".

[3] СОДЕРЖАНИЕ

[4]
ВВЕДЕНИЕ

[5]
1. ПОСТАНОВКА ЗАДАЧИ

[6]
2. ОПИСАНИЕ АЛГОРИТМА

[6.1] 2.1 Создание 3НФ

[6.2] 2.2 Создание таблиц

[7]
3. СОЗДАНИЯ ПРИЛОЖЕНИЯ

[7.1] 3.1 Модуль данных

[7.2] 3.2 Создания событий

[7.3] 3.3 Добавление компонентов на Form1

[8]
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

[9]
ЗАКЛЮЧЕНИЕ

[10]
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


ВВЕДЕНИЕ

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

База данных (БД) – совокупность сведений, хранимых в запоминающих устройствах ЭВМ, выступающая в качестве исходных данных при решении различных задач.

Главная цель создания баз данных состоит в объединении функций обновления, ведения и пополнения хранимой информации, а также справочной функции. Основное характерное свойство базы данных - ее независимость от рабочих программ, с которыми она взаимодействует. Эта независимость проявляется в возможности изменения содержания, объема и организации хранимой информации без изменения рабочих программ, пользующихся данной информацией. Для обеспечения независимости базы данных необходимо хранить описание накопленной информации вместе с самой информацией и обеспечить возможность коллективного доступа к любой части хранимых сведений.

Цель курсового проекта: создать информационную систему "Клиника".

Задачи:

  1.  Создать 3НФ;
  2.  Создать БД "статистика матчей" в программе IBExpert;
  3.  Создать приложение в Lazarus.


1. ПОСТАНОВКА ЗАДАЧИ

Необходимо создать СУБД "Клиника" и приложение в Lazarus. Необходимо привести к третьей нормальной форме: Ф.И.О врача, Специализация, Ф.И.О пациента, День Регистрационный номер, Адрес, Дата рождения, Номер полиса, Диагноз, Дата приема, Страховая карта, Дата начало больничного Дата выпески.


2. ОПИСАНИЕ АЛГОРИТМА

2.1 Создание 3НФ

Созданная 3НФ показана на рисунке 1.

Рисунок 1 - 3НФ

2.2 Создание таблиц

Создание таблиц начинается с таблицы, не имеющей внешних ключей. Запросы на создание таблиц выглядеть следующим образом:

Таблица №1

create table vrah

(IDvrah numeric not null primary key,

FIOvrah varchar (200),

spec varchar (50));

Внешний ключ IDvrah связывает текущую таблицу с таблицей vrah по ее первичному ключу IDvrah.

Таблица №2

create table pacient

(IDpacient numeric not null primary key,

FIOpacient varchar (200),

pegnom varchar (30),

adres varchar (50),

dt varchar (50),

nompol varchar (20));

Для автоматического заполнения значениями ключевых полей используются триггеры и генераторы. Запрос на их создание выглядит следующим образом:

Триггер к таблице №1

create generator vrah_id_gen;

commit;

set term ^;

create trigger set_vrah_id for vrah

active before insert position 0 as

begin

if(new.IDvrah is null) then

new.IDvrah = gen_id(vrah_id_gen,1);

end; ^

set term; ^

commit;

Триггер к таблице №2

create generator pacient_id_gen;

commit;

set term ^;

create trigger set_pacient_id for pacient

active before insert position 0 as

begin

if(new.IDpacient is null) then

new.IDpacient = gen_id(pacient_id_gen,1);

end; ^

set term; ^

commit;

Оставшиеся таблицы и триггеры делаются аналогичным образом, как на примере 1 и 2.


3. СОЗДАНИЯ ПРИЛОЖЕНИЯ

Для того чтобы создать приложение необходимо, создать новый проект (Файл > Создать...> из группы «Проект» выбираем «Приложение»). Добавим модуль данных (Файл > Создать...> из группы «Модуль» выбираем «Модуль данных»).

3.1 Модуль данных

Добавляем в DataModule1 TIBConnection, TSQLTransaction и четыре компонента TSQLQuery со вкладки SQLdb. Добавим четыре компонента TDataSource со вкладки Data Access. (как показано на рисунке 2)

Рисунок 2 – добавление компонентов

Задаем в свойстве IBConnection1

DatabaseName

C:\\BD\BD.GDB

Transaction

SQLTransaction1

LoginPrompt

False

Dialect

3

CharSet

UTF-8

UserName

SYSDBA

Password

masterkey

Задаем в свойстве SQLTransaction1

Database

IBConnection1

DefaultAction

caCommit

Params

write

read_committed

rec_version

nowait

Установим свойство Connected в компоненте IBConnection1в True (как показана на рисунке 3).

Рисунок 3 – В свойстве Connected меняем вместо True на False

В случае успеха свойство беспрепятственно установится в True. В Случае ошибки необходимо проверить имя пользователя, пароль, путь к базе.

Задаем в свойстве SQLQuery1

Database

IBConnection1

Transaction

SQLTransaction1

SQL

select * from vrah            

InsertSQL

insert into vrah

(FIOvrah, spec)

values

(:FIOvrah, :spec)      

DeleteSQL

delete from vrah

where IDvrah=:IDvrah         

UpdateSQL

update vrah set

IDvrah=:IDvrah,

FIOvrah=:FIOvrah,

spec=:spec

where IDvrah=:OLD_IDvrah     

Задаем в свойстве DataSource1

DataSet

SQLQuery1

Задаем в свойстве SQLQuery2

Database

IBConnection1

Transaction

SQLTransaction1

DataSource

DataSource1

SQL

select * from pacient            

InsertSQL

insert into pacient

(FIOpacient, pegnom, adres, dt, nompol)

values

(:FIOpacient, :pegnom, :adres, :dt, :nompol)    

DeleteSQL

delete from pacient

where IDpacient=:IDpacient               

UpdateSQL

update pacient set

IDpacient=:IDpacient,

FIOpacient=:FIOpacient,

pegnom=:pegnom,

adres=:adres,

dt=:dt,

nompol=:nompol

where IDpacient=:OLD_IDpacient       

Задаем в свойстве DataSource1

DataSet

SQLQuery2

Оставшиеся SQLQuery и DataSource делаются аналогичным образом.

3.2 Создания событий

Задаем событие OnCreate в модуле данных DataModule1

procedure TDataModule1.DataModuleCreate(Sender: TObject);

begin

 IBConnection1.Open;

end;     

Задаем событие AfterConnect в компоненте IBConnection1

procedure TDataModule1.IBConnection1AfterConnect(Sender: TObject);

begin

 SQLQuery1.Open;

 SQLQuery2.Open;

 SQLQuery3.Open;

 SQLQuery4.Open;

 SQLQuery5.Open;

           SQLQuery6.Open;

end;                      

Задаем событие AfterOpen в компоненте SQLQuery1

Procedure TDataModule1.SQLQuery1AfterOpen (Sender:TDataSet);

Begin

SQLQuery2.Open;

End;

Задаем событие BeforeDisconnect в компоненте IBConnection1

procedure TDataModule1.IBConnection1BeforeDisconnect(Sender: TObject);

begin

 SQLQuery1.Close;

 SQLQuery2.Close;

 SQLQuery3.Close;

 SQLQuery4.Close;

SQLQuery5.Close;

SQLQuery6.Close;

end;               

Задаем событие BeforeClose, общее для компонентов SQLQuery1и SQLQuery2

procedure TDataModule1.SQLQuery1BeforeClose(DataSet: TDataSet);

begin

 if TSQLQuery(Dataset).State in [dsInsert,dsEdit]

then TSQLQuery(Dataset).Post;

end;                                           

Задаем событие OnClose формы в Form1

procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);

begin

 DataModule1.SQLTransaction1.Commit;

 DataModule1.IBConnection1.Close;

end;           

Задаем событие OnNewRecord в компонента SQLQuery1

procedure TDataModule1.SQLQuery1NewRecord(DataSet: TDataSet);

begin

 SQLQuery1.FieldByName('IDvrah').AsInteger:=0;

end;

Задаем событие OnNewRecord в компонента SQLQuery2

procedure TDataModule1.SQLQuery2NewRecord(DataSet: TDataSet);

begin

SQLQuery2.FieldByName('IDpacient').AsInteger:=0;

end;  

Задаем событие After Post в компоненте SQLQuery1

procedure TDataModule1.SQLQuery1AfterPost(DataSet: TDataSet);

begin

 TSQLQuery(Dataset).ApplyUpdates;

end;          

Оставшиеся SQLQuery делаются аналогичным образом.

3.3 Добавление компонентов на Form1

Добавим со вкладки Standard на форму два компонента TPanel. Добавим со вкладки Data Controls на TPanel четыре TDBGrid. Добавим со вкладке Data Controls четыре компонента TDBNavigator (как показана на рисунке 4).

Задаем свойство для Panel1 и Panel2

Align

alTop

Height

224

Задаем свойство для DBNavigator1 и DBNavigator2

DataSource

DataModule1.DataSource1 (DataModule1.DataSource2)

Задаем свойство для DBGrid1 и DBGrid2

DataSource

DataModule1.DataSource1 (DataModule1.DataSource2)

Оставшиеся DBNavigator и DBGrid задаются аналогичный образом.

Рисунок 4 – Размещение компонентов на Form1

  1.  
    РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

На рисунке 5 представлено приложение созданное в Lazarus.

Рисунок 5 – приложение в Lazarus

В таблицу Врач добавим название ФИО врача и специалдизацию, например Сидоров Иван Василеевич специализация Хирург. Чтобы добавить запись в приложение необходимо нажать на 

Рисунок 6 – Таблица Врачи

- в начало таблицы;

- предыдущая запись;

- следующая запись;

- в конец таблицы;

- добавить;

- удались;

- редактировать;

- сохранить;

- отмена редактирования;

- Обновить.

В таблицу Пациент добавим Ф.И.О пациента, рег. номер, Адрес дату рождения и Номер полиса,например:

Иваннов Иван Иванович, 1, Кирова 10, 01.01.12, 2;

Петрова Светлана Ировна, 2, Дружбы 1, 15.11.99, 54;

Рисунок 7 – Таблица Пациенты


ЗАКЛЮЧЕНИЕ

В ходе работы была создана информационная система "Клиника". Выполнены задачи: создано 3НФ, создано БД "статистика матчей" в программе IBExpert, создано приложение в Lazarus.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1.  Агальцов, П.В Базы данных: [Текст] учебное пособие / П.В Агальцов – М.: Мир 2002. – 376 с.
  2.  Дейт, К. Введение в системы баз данных [Текст]: учебное пособие / К. Дейт. - 8-е издание - «Вильямс», 2006.
  3.  Диго, С. М. Базы данных. Проектирование и создание: [Текст] учебно-методический комплекс / С. М. Диго – М.: Изд. Центр ЕАОИ. 2008. – 171 с.
  4.  Кaрповa, Т. С. Базы данных. Модели, рaзрaботкa, реaлизaция: [Текст] учебное пособие / Т. С. Кaрповa - СПб.: Питер,2002. – 304 с.

Дополнительные ссылки:

1. http://ed.tusur.ru/data/umpo/011.pdf

PAGE  5




1. Лечение ультразвуковым фонофорезом
2. Стаття 124. Ч.1 Правосуддя в Україні здійснюється виключно судами
3. Тема урока- Изменение глаголов по числам
4. то определенного эффекта то есть действенность результата
5. Проводная связь в мсб организуется в исходном положении на рубеже перехода в атаку при наступлении из по
6. Учитель ~ мастер чародей творец и просто верный друг детей Сценарий ко Дню учителя 2013г
7. это двигатель пpогpесса pазвития
8. системой взаимосвязанных вершин и дуг
9. Тема-КАПИТАЛЬНЫЕ ВЛОЖЕНИЯ НА АВТОТРАНСПОРТЕ 1.html
10. Применение концепции маркетинга на рынке образовательных услуг (на примере подготовки специалистов экономического профиля).html
11. Семейная политика РАЗДЕЛ V
12. химик химиктехнолог Форма резюме химика в свободном форматеФ
13. Масленица
14. Проектування пристрою пожежної сигналізації
15. Лабораторная работа 13 Тема- Изучение классов нагревостойкости изоляции уравнение нагревания и охлаж
16. тематику и в некоторой степени специализируется на майнкрафте
17. по теме Преображенское
18. Продуктивность коров в зависимости от метода подбора
19. измерительные приборы провода контакты и предохранители
20. Международный лизинг- о некоторых мерах стимулирования