Разработка модели распределенной реляционной базы данных предприятия

Автор работы: Пользователь скрыл имя, 27 Июня 2013 в 11:38, курсовая работа

Описание работы

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

Файлы: 1 файл

Kursovaya1.doc

— 809.50 Кб (Скачать файл)
  1. Постановка задачи

 

Разработать модель распределенной реляционной базы данных предприятия, состоящего из главного производства и нескольких удаленных филиалов. Части предприятия связаны компьютерной сетью, имеют собственные локальные  базы данных,  могут использовать  данные удаленных узлов. Глобальная информация хранится на центральном узле.

Разработать приложение, обеспечивающее создание, модификацию и поиск  данных. Считать, что все локальные  базы размещены на одном компьютере.

   

    Требования:

  • Количество локальных БД >= 3;
  • Состав отдельной локальной БД: связанные таблицы (не менее 2), индексы, хранимые процедуры, триггеры, генераторы;
  • Количество записей одной таблицы >= 10;
  • Операции над БД: создание, модификация, поиск в БД;
  • СУБД: InterBase;
  • Языки: SQL, Delphi.
  • Целостность данных: использовать аппарат транзакций, хранимые процедуры, триггеры;
  • Использовать CASE-средства проектирования ПО.

    

     Последовательность выполнения работы:

  • Описать состав и функционирование указанного в задании предприятия;
  • Построить UML-диаграммы прецедентов использования и классов для БД предприятия;
  • Построить инфологическую модель «сущность-связь» БД предприятия;
  • Построить реляционную модель БД предприятия;
  • Разбить БД предприятия на локальные базы данных центрального производства и филиалов;
  • Произвести начальное заполнение БД;
  • Написать программы операций с БД.

 

    Структура пояснительной записки:

  • Титульный лист;
  • Оглавление;
  • Постановка задачи;
  • Описание структуры и функционирования предприятия;
  • UML-диаграммы предприятия;
  • Модель «сущность-связь» БД предприятия;
  • Реляционная модель БД;
  • Декомпозиция БД предприятия на локальные базы данных;
  • Описание программ (принцип действия, визуальные формы, фрагменты кода);
  • Приложения: заполненные таблицы БД, листинги программ;
  • Литература.

 

 

 

 

 

 

 

 

 

 

2. Описание структуры  и функционирования предприятия

 

Медицинское учреждение состоит из трех отделений: отдела администрации, хирургического отдела, глазного отдела.

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

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

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

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

В администрации проводятся совещания с сотрудниками медицинского учреждения.

По результатам совещания  руководитель может давать письменные поручения сотрудникам с определением сроков их исполнения. Контроль за исполнением поручений осуществляется руководителем медицинского учреждения.

Хирургическое и глазное отделы являются отраслевым органом администрации медицинского учреждения, обслуживающими и оказывающими соответствующую помощь пациентам медицинского учреждения.

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

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

 

 

 

 

 

 

 

 

 

 

 

3. Создание модели данных

3.1. Построение диаграмм прецедентов (use-case)

 

Работа отдела администрации

 

 

 

 

 

 

 

 

 

 

 

 

Работа хирургического отдела

 

 

 

 

 

 

 

 

 

 

 

 

 

Работа глазного отдела

 

 

 

 

 

 

 

 

 

 

 

3.2. Модель «сущность-связь» БД медицинского учреждения

 

Диаграмма сущность-связь  для отдела администрации

 

 

 

Диаграмма сущность-связь для хирургического и глазного отделов

 

 

    3.3. Реляционная модель БД

 

Реляционная модель БД отдела администрации

 

 

 

Реляционная модель БД хирургического и глазного отделов

 

 

4. Описание БД

Система автоматизирующая работу медицинского учреждения состоит из трех баз данных реализованных в СУБД Interbase:

1. БД Администрация (BDAdministrasija)

Create table Sotrudniki   //таблица сотрудников

(Ident_str char(5) not null,

FIO char(25) not null,

Birthday char(10) not null,

Telephone char(15) not null,

Address  char(45) not null,

Dolgnost char(20) not null,

Primary Key (Ident_str));

 

Create Table Sovechanija     //таблица совещаний

(Ident_sovech char(5) not null,

Tema char(25) not null,

Data_proved char(10) not null,

Vrermja_proved char(5) not null,

Otvetstvennij char(30) not null,

Ident_str char(5),

Primary key (Ident_sovech));

 

Create Table Plani     //таблица планов

(Ident_plan char(5) not null,

Porychenija char(55) not null,

Srok_Vipol char(15) not null,

Data_sdachi char(10) not null,

Rukovoditel char(25) not null,

Ident_str char(5),

Primary Key (Ident_plan));

 

CREATE GENERATOR GenSotr;     //генератор номера сотрудника 

SET GENERATOR GenSotr TO 5555;

 

SET TERM !! ;                                                 //тригер  для удаления из таблицы

CREATE TRIGGER TrSovechanija FOR Sotrudniki      //Совещания руководите

ACTIVE                                                                               //ля в случае, удаления                  

AFTER DELETE                                                     // его из таблицы Сотрудники

AS

BEGIN

DELETE FROM Sovechanija WHERE Sotrudniki.FIO=Sovechanija.Rukovoditel;

END!!

SET TERM;!!

 

SET TERM!! ;                              //триггер, генерирующий номера сотрудников            

CREATE TRIGGER TrSotr FOR Sotrudniki

ACTIVE

BEFORE INSERT

AS

BEGIN

NEW.Ident_str=GEN_ID (GenSotr, 1);

END!!

 

SET TERM !! ;              //хранимая процедура, выводящая фамилии найденных

CREATE PROCEDURE pSotrudniki(ipDolgnost char (15))     // сотрудников,                         

RETURNS (opFIO CHAR (25))     // при поиске их по

AS                  // должностям

BEGIN

FOR SELECT FIO

FROM Sotrudniki

WHERE Dolgnost=:ipDolgnost

INTO: opFIO

DO SUSPEND;

END!!

SET TERM;!!

 

  1. БД Хирургическое отделение (BDXirurg)

 

Create table Sotrudniki   //таблица сотрудников

(Ident_str char(5) not null,

FIO char(25) not null,

Birthday char(10) not null,

Telephone char(15) not null,

Address  char(45) not null,

Dolgnost char(20) not null,

Primary Key (Ident_str));

 

Create table Pocienti    //таблица пациентов

(Ident_poc char(5) not null,

FIO char(25) not null,

Birthday char(10) not null,

Telephone char(15) not null,

Address  char(45) not null,

Istorija_bolezni char(20) not null,

Data_Postyplenija char(10) not null,

Data_Vipiski char(10) not null,

Obslygiv_Vrach char(25) not null,

Ident_str char(5),

Primary Key (Ident_poc));

 

Create Table Otcheti     //таблица отчетов

(Ident_otch char(5) not null,

Tema char(25) not null,

Data_cdachi char(10) not null,

Otvetcvennij char(30) not null,

Ident_str char(5),

Primary key (Ident_otch));

 

CREATE GENERATOR GenSotr;     //генератор номера сотрудника 

SET GENERATOR GenSotr TO 5555;

SET TERM!! ;                              //триггер, генерирующий номера сотрудников            

CREATE TRIGGER TrSotr FOR Sotrudniki

ACTIVE

BEFORE INSERT

AS

BEGIN

NEW.Ident_str=GEN_ID (GenSotr, 1);

END!!

 

SET TERM !! ;                              //тригер, для удаления из таблицы Пациенты

CREATE TRIGGER TrPocienti FOR Sotrudniki     // обслуживающего врача, в

ACTIVE                                    // случае удаления его из таблицы Сотрудники                                       

AFTER DELETE

AS

BEGIN

DELETE FROM Pocienti WHERE Sotrudniki.FIo=Pocienti.Obslygiv_Vrach;

END!!

SET TERM ; !!

 

 

 

  1. БД Глазное отделение (BDGLASS)

 

Create table Sotrudniki   //таблица сотрудников

(Ident_str char(5) not null,

FIO char(25) not null,

Birthday char(10) not null,

Telephone char(15) not null,

Address  char(45) not null,

Dolgnost char(20) not null,

Primary Key (Ident_str));

 

Create table Pocienti    //таблица пациентов

(Ident_poc char(5) not null,

FIO char(25) not null,

Birthday char(10) not null,

Telephone char(15) not null,

Address  char(45) not null,

Istorija_bolezni char(20) not null,

Data_Postyplenija char(10) not null,

Data_Vipiski char(10) not null,

Obslygiv_Vrach char(25) not null,

Ident_str char(5),

Primary Key (Ident_poc));

 

Create Table Otcheti     //таблица отчетов

(Ident_otch char(5) not null,

Tema char(25) not null,

Data_cdachi char(10) not null,

Otvetcvennij char(30) not null,

Ident_str char(5),

Primary key (Ident_otch));

 

CREATE GENERATOR GenSotr;     //генератор номера сотрудника 

SET GENERATOR GenSotr TO 5555;

SET TERM!! ;                              //триггер, генерирующий номера сотрудников            

CREATE TRIGGER TrSotr FOR Sotrudniki

ACTIVE

BEFORE INSERT

AS

BEGIN

NEW.Ident_str=GEN_ID(GenSotr,1);

END!!

 

SET TERM !! ;                              //тригер, для удаления из таблицы Пациенты

CREATE TRIGGER TrPocienti FOR Sotrudniki     // обслуживающего врача, в

ACTIVE                                    // случае удаления его из таблицы Сотрудники                                       

AFTER DELETE

AS

BEGIN

DELETE FROM Pocienti WHERE Sotrudniki.FIo=Pocienti.Obslygiv_Vrach;

END!!

SET TERM ; !!

 

 

 

 

5. Описание работы программы

 

После запуска приложения, при открытии БД на выполнение появляется окно, в котором нужно ввести пароль. Если введен верный пароль, при нажатии на кнопку «ОК» появляется главная форма. Иначе, выводится сообщение об ошибке.

 

После успешной проверки пароля появляется форма выбора учреждения. Пользователь выбирает нужное ему на данный момент учреждение и нажимает на кнопку ОК. При нажатии на кнопку «Выход» приложение закрывается.

БД Администрация состоит  из трех таблиц («Сотрудники», «Совещания», «Планы»).

На вкладке «Сотрудники» содержится информация о сотрудниках. Кнопка «Открыть» визуализирует набор данных. При помощи компонента DBNavigator можно редактировать, добавлять и удалять записи. После внесенных изменений БД можно обновить, нажав соответствующую кнопку. В таблице можно найти запись об интересующем сотруднике. Для этого в поле ввода достаточно ввести первые несколько букв его фамилии и курсор укажет нужную строку. Также можно реализовать поиск по должностям сотрудников. После завершения работы БД можно закрыть.

Информация о работе Разработка модели распределенной реляционной базы данных предприятия