Расчет заработной платы в поликлинике

Автор работы: Пользователь скрыл имя, 12 Декабря 2013 в 15:26, курсовая работа

Краткое описание

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

Содержание

Введение 3
Постановка задачи 4
1. Проектирование структуры базы данных 5
1.1. Техническое задание 6
1.2. Концептуальное проектирование 8
1.3. Логическое проектирование 13
2. Выбор серверной платформы (СУБД) 18
3. Физическое проектирование. Реализация базы данных на платформе Microsoft SQL Server 21
4. Типовые процедуры администрирования базы данных 26
5. Типовые запросы к базе данных 27
6. Оценка качества базы данных 28
Заключение 30
Список использованной литературы 31

Вложенные файлы: 1 файл

расчет_ЗБ_поликлиника.doc

— 292.50 Кб (Скачать файл)

Сущность

Описание

Chargeit

Вид начисления у конкретного  работника

Holdit

Вид удержания у конкретного работника


 

Таблица 5. Новые связи для декомпозиции связей «многие ко многим»

Связь

Описание

PhaseChargeit

Работник имеет конкретный вид начисления

PhaseHoldit

Работник имеет конкретный вид удержания

ChargeChargeit

Начисление назначено конкретному работнику

HoldHoldit

Удержание назначено  конкретному работнику


 

 

2. Формирование отношений на основе логической модели данных.

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

Связь между сущностями отображается с помощью механизма  «первичный ключ/внешний ключ». Поэтому  для каждой подчиненной по связи  сущности необходимо перенести в нее атрибуты первичного ключа родительской сущности.

Таблица 6. Внешние ключи

Сущность

Атрибут

Описание

Phase

WorkerId

Идентификатор работника

DivId

Идентификатор подразделения

JobId

Идентификатор должности

RatioId

Номер разряда

Work

PhaseId

Идентификатор работника

Tariff

RatioId

Номер разряда

Chargeit

PhaseId

Идентификатор работника

ChrargeId

Идентификатор вида начисления

WorkId

Идентификатор работы

Holdit

PhaseId

Идентификатор работника

HoldId

Идентификатор вида удержания

Calc

PhaseId

Идентификатор работника

Charging

ChargeId

Идентификатор вида начисления

CalcId

Идентификатор расчета

Holding

HoldId

Идентификатор вида удержания

CalcId

Идентификатор расчета


 

3. Проверка отношений  с использованием средств нормализации.

Процесс нормализации включает следующие основные этапы:

1) приведение к 1-й нормальной форме, позволяющее удалить из отношений повторяющиеся группы атрибутов

2) приведение ко 2-й нормальной форме, позволяющее устранить частичную зависимость атрибутов от первичного ключа

3) приведение к 3-й нормальной форме, позволяющее устранить транзитивную зависимость атрибутов от первичного ключа.

4) приведение к нормальной  форме Бойса-Кодда, позволяющее  удалить из функциональных зависимостей оставшиеся аномалии.

 

4. Проверка применимости  отношений для выполнения пользовательских  транзакций.

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

 

5. Определение ограничений  целостности.

Ограничения целостности  данных вводятся с целью предотвратить появление в базе противоречивых данных.

Типы ограничений целостности:

  1. Обязательные данные
  2. Ограничения для доменов атрибутов
  3. Целостность сущностей
  4. Ссылочная целостность
  5. Ограничения предметной области

 

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

 

 

2. Выбор серверной платформы  (СУБД)

 

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

Можно выделить несколько групп критериев выбора СУБД:

 

1. Моделирование данных

  1. Используемая модель данных..
  2. Триггеры и хранимые процедуры.
  3. Средства поиска.
  4. Предусмотренные типы данных..
  5. Реализация языка запросов. Все современные системы совместимы со стандартным языком доступа к данным SQL-92, однако многие из них реализуют те или иные расширения данного стандарта.

 

2. Особенности архитектуры и функциональные возможности:

  1. Мобильность. Независимость системы от среды, в которой она работает.
  2. Масштабируемость. При выборе СУБД необходимо учитывать, сможет ли данная система соответствовать росту информационной системы.
  3. Распределенность.
  4. Сетевые возможности.

 

3. Контроль работы системы

  1. Контроль использования памяти компьютера.
  2. Автонастройка.

 

4. Особенности разработки приложений

  1. Средства проектирования.
  2. Многоязыковая поддержка..
  3. Возможности разработки Web-приложений.
  4. Поддерживаемые языки программирования.

 

5. Производительность

  1. Рейтинг TPC (Transactions per Cent). Отношение количества запросов обрабатываемых за некий промежуток времени к стоимости всей системы.
  2. Возможности параллельной архитектуры.
  3. Возможности оптимизирования запросов..

 

6. Надежность

  1. Восстановление после сбоев.
  2. Резервное копирование.
  3. Откат изменений.
  4. Многоуровневая система защиты.

 

7. Требования к рабочей среде

  1. Поддерживаемые аппаратные платформы.
  2. Минимальные требования к оборудованию.
  3. Максимальный размер адресуемой памяти.
  4. Операционные системы, под управлением которых способна работать СУБД.

 

8. Смешанные критерии

  1. Качество и полнота документации.
  2. Локализованность.
  3. Модель формирования стоимости.
  4. Стабильность производителя.
  5. Распространенность СУБД.

 

Расчет интегрального  показателя выбора СУБД по требованиям задачи:

Таблица 7. Интегральные показатели по различным СУБД

Показатель

Весовой коэффициент

СУБД

SQL Server 2005

MySQL

Oracle

Моделирование данных

1

7

3

6

Функциональные возможности

2

8

6

9

Контроль

1,8

8

5

9

Разработка приложений

2,5

9

5

7

Производительность

2

8

7

9

Надежность

2,5

8

4

8

Требования к рабочей  среде

2

9

7

7

Прочие критерии

0,5

6

9

5

Итого: 

116,9

79

112,2


 

Для программной реализации базы данных учета зарплаты в поликлинике  выбирается система управления базами данных Microsoft SQL Server 2005 в редакции Standard Edition.

Microsoft SQL Server использует в качестве языка запросов Transact-SQL (T-SQL) - процедурное расширение языка SQL.

 

3. Физическое проектирование. Реализация базы данных на платформе Microsoft SQL Server

 

Физическая реализация базы данных выполняется в виде сценария на языке Transact-SQL:

USE [clinic]

 

SET ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON

 

CREATE TABLE [dbo].[Charge](

[ChargeId] [int] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](50) NULL,

CONSTRAINT [PK_Charge] PRIMARY KEY CLUSTERED

(

[ChargeId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

 

CREATE TABLE [dbo].[Division](

[DivId] [int] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](50) NULL,

CONSTRAINT [PK_Division] PRIMARY KEY CLUSTERED

(

[DivId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Hold](

[HoldId] [int] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](50) NULL,

[Percent] [float] NOT NULL CONSTRAINT [DF_Hold_Percent]  DEFAULT ((0)),

[LimitUp] [money] NULL,

[LimitDown] [money] NULL,

CONSTRAINT [PK_Hold] PRIMARY KEY CLUSTERED

(

[HoldId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Job](

[JobId] [int] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](50) NULL,

CONSTRAINT [PK_Job] PRIMARY KEY CLUSTERED

(

[JobId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Ratio](

[RatioId] [int] NOT NULL,

CONSTRAINT [PK_Ratio] PRIMARY KEY CLUSTERED

(

[RatioId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Worker](

[WorkerId] [int] IDENTITY(1,1) NOT NULL,

[DOB] [smalldatetime] NOT NULL,

[Sex] [nvarchar](1) NOT NULL CONSTRAINT [DF_Worker_Sex]  DEFAULT (N'M'),

CONSTRAINT [PK_Worker] PRIMARY KEY CLUSTERED

(

[WorkerId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Charging](

[ChargingId] [int] IDENTITY(1,1) NOT NULL,

[Summa] [money] NULL,

[ChargeId] [int] NULL,

[WorkId] [int] NULL,

[CalcId] [int] NULL,

CONSTRAINT [PK_Charging] PRIMARY KEY CLUSTERED

(

[ChargingId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Holding](

[HoldingId] [int] IDENTITY(1,1) NOT NULL,

[Summa] [money] NULL,

[HoldId] [int] NULL,

[CalcId] [int] NULL,

CONSTRAINT [PK_Holding] PRIMARY KEY CLUSTERED

(

[HoldingId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[ChargeIt](

[ChargeId] [int] NOT NULL,

[PhaseId] [int] NOT NULL,

CONSTRAINT [PK_ChargeIt] PRIMARY KEY CLUSTERED

(

[ChargeId] ASC,

[PhaseId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Phase](

[PhaseId] [int] IDENTITY(1,1) NOT NULL,

[WorkerId] [int] NULL,

[Surname] [nvarchar](50) NULL,

[Name] [nvarchar](50) NULL,

[Patronymic] [nvarchar](50) NULL,

[Tabel] [nvarchar](12) NULL,

[Child] [tinyint] NULL,

[DivId] [int] NULL,

[JobId] [int] NULL,

[RatioId] [int] NULL,

CONSTRAINT [PK_Phase] PRIMARY KEY CLUSTERED

(

[PhaseId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Holdit](

[HoldId] [int] NOT NULL,

[PhaseId] [int] NOT NULL,

CONSTRAINT [PK_Holdit] PRIMARY KEY CLUSTERED

(

[HoldId] ASC,

[PhaseId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Calc](

[CalcId] [int] IDENTITY(1,1) NOT NULL,

[CalcMonth] [smallint] NULL,

[CalcYear] [smallint] NULL,

[PhaseId] [int] NULL,

CONSTRAINT [PK_Calc] PRIMARY KEY CLUSTERED

(

[CalcId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Work](

[WorkId] [int] IDENTITY(1,1) NOT NULL,

[Start] [datetime] NOT NULL,

[Duration] [smallint] NOT NULL,

[Rate] [int] NOT NULL CONSTRAINT [DF_Work_Rate]  DEFAULT ((1)),

[PhaseId] [int] NOT NULL,

CONSTRAINT [PK_Work] PRIMARY KEY CLUSTERED

(

[WorkId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

 

CREATE TABLE [dbo].[Tariff](

[TariffId] [int] IDENTITY(1,1) NOT NULL,

[Rate] [float] NOT NULL CONSTRAINT [DF_Tariff_Rate]  DEFAULT ((1)),

[TariffYear] [smallint] NOT NULL,

[RatioId] [int] NOT NULL,

CONSTRAINT [PK_Tariff] PRIMARY KEY CLUSTERED

(

[TariffId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

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