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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,19 Мб
  • Опубликовано:
    2015-06-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Федеральное агентство по образованию

Новосибирский государственный университет экономики и управления - "НИНХ"









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

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


Номер группы: 9091

Наименование специальности:

"Прикладная информатика

(в экономике)"

Ф.И.О. студента: Остапенко М.В.

Номер зачетной книжки: 091374

Проверила: Родионова З.В.

Новосибирск, 2012 г.

Оглавление

Введение

. Описание предметной области

.1 Описание бизнес-процесса

.2 Описание формы

.3 Правила оформления Унифицированной формы №Т-73

.4 Организационная структура предприятия

. Описание целей и задач создания базы данных

. Концептуальная модель

. Реляционная модель данных

. Модель данных в SQL Server 2008

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

. Объекты базы данных

.1 Запросы

7.2 Представления

.3 Хранимые процедуры

.4 Триггеры

Заключение

Список литературы

Введение


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

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

К задачам, поставленным в данной работе, относятся:

.        отражение в базе данных подробной информации обо всех сотрудниках (ФИО, данные паспорта), подразделениях, должностях, работе;

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

1. Описание предметной области

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

Видение фитнес-клуба "Будь в тонусе!" звучит так: "Сделать нацию красивой и здоровой". Миссия клуба - помочь, как можно большему количеству людей быть здоровыми, красивыми и находиться в хорошем настроении с помощью лучших инструкторов.

Фитнес-клуб "Будь в тонусе!" предлагает целый комплекс услуг. Среди них: Тренажерный зал, Зал аэробики, Зал единоборств, Сайкл, Зал бокса, Персональный тренер, Студия красоты, Сауна, Турецкая баня, Джакузи, Солярий, Массаж, Детская комната, Физиологическое тестирование, Диагностика состава тела, Спортивный магазин, Интернет-кафе.

Все залы оборудованы самыми современными тренажерами ведущих мировых производителей: Tehnogym, Cybex, Star Trac, Icarian, Flex, Precor.

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

 


1.1 Описание бизнес-процесса

- определение, происходящее от английского глагола "to be fit" - "быть в форме". А это значит: быть стройным и подтянутым, жизнерадостным и веселым, энергичным и успешным. Состояние "фитнес" - это состояние физического, душевного и эмоционального здоровья на самом высоком уровне. Средством достижения состояния "фитнес" являются фитнес-программы - научно-обоснованные программы действий, направленные на развитие и поддержание на высоком качественном уровне всех функций человеческого организма. Собственно фитнес-технологии - то, что является продуктом продажи, - очень динамичная субстанция. Методики быстро устаревают, появляются новые веяния с Запада и Востока.... Новые программы появляются в мировой фитнес-индустрии очень часто, и основная задача российского фитнес-менеджера - адаптировать зарубежный опыт, т.к. далеко не все приживается на российской земле.

Клиент кредитует компанию, потому что клиент оплачивает единовременно и вперед стоимость посещений клуба в течение срока действия контракта (обычно - год/полгода). Эта система оплаты носит название non-dues-based. Развитие банковской системы в России открывает новые возможности в процедурах оплаты членства, выгодные как для клиента, клуба, так и для банка. Поэтому сегодня особенно перспективной выглядит система оплаты dues-based. Cуществует еще несколько видов и процедур оплаты членства в клубе, которые могут быть Вами выбраны в зависимости от исходных данных и планируемого результата. Безусловно, постановка клубной системы требует от управляющего специальных знаний. Даже если Вы экономист по образованию и эксперт в фитнесе (а такое сочетание обычно редкость, и в этом случае Вам очень повезло), необходимо знать некоторые "передовые трюки" современного фитнес-менеджмента. Одна из особенностей индустрии состоит в cпецифической системе ценообразования с учетом разнообразных видов членств: индивидуальных, семейных, корпоративных, детских и т.д. Здесь свои законы и традиции, нарушение которых напрямую отражается на проценте продления членских билетов.

Обычно люди, вступающие в члены фитнес-клуба, проводят в нем значительную часть свободного времени. А значит, надеются на доброжелательность и радушие, приветливость и вежливость, любезность и обходительность, а также - заботу, дружелюбие, теплоту и помощь обслуживающего персонала. Высокий сервисный уровень фитнес-услуг - это историческая особенность российской фитнес-индустрии. Несмотря на яркую тенденцию к "демократизации", работа с клиентом фитнес-клуба очень персонифицирована, а слово "фитнес" все еще ассоциируется со словом "элита". Фитнес-услуга - это процесс, происходящий между клиентом и клубом, оказывающим услугу. Это процесс глубоко индивидуальный. Услуга потребляется в момент её предоставления. Если Вы не удовлетворены товаром, Вы можете поменять его или вернуть деньги. С услугой это сделать невозможно. Вы не можете отказаться от некачественно проведенной тренировки, от опоздания инструктора, от ошибок сотрудников рецепции.... И чаще всего вообще нельзя объективно продемонстрировать клиенту, хороша услуга или нет, до момента ее оказания. Всё чаще наиболее значимым параметром при выборе поставщика фитнес-услуги является не столько уровень цен, сколько качество сервиса. Современные успешные фитнес-клубы знают, что путь к успеху - это предоставление клиентам таких услуг, которые бы полностью удовлетворяли их потребностям и желаниям. Если, конечно, Вы фокусируетесь в первую очередь на своих клиентах, а не на получении прибыли любым путём.

 

.2 Описание формы


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

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

В данном акте должны приводиться:

) наименование выполненных работ;

) стоимость выполненных работ в соответствии с положениями заключенного между сторонами договора;

) сумма, которая причитается к выплате;

) заключение о качестве выполненных работ;

) заключение об объеме и уровне выполненных работ.

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

Акт составляет работник, ответственный за приемку выполненных работ, в двух экземплярах. Один экземпляр передают работнику, выполнившему работу, второй экземпляр - для расчета заработной платы.

Форма №Т-73 <#"867892.files/image001.jpg">

Рис. 1. Концептуальная модель

4. Реляционная модель данных

СОТРУДНИК (Код сотрудника, код должности, фамилия имя отчество, данные паспорта, вид участия в работе)

Внешние ключи: Код должности ссылается на Должность

ДОЛЖНОСТЬ (Код должности, название)

РАБОТА (Код работы, наименование)

ДАТА (Код даты, Дата составления договора, начало действия договора, конец действия договора)

АКТ О ПРИЕМЕ ВЫПОЛНЕННЫХ РАБОТ (Номер документа, структурное подразделение)

ВЫПОЛНЕННАЯ РАБОТА (Номер работы, код даты, номер документа, код сотрудника, код работы, сумма)

Внешние ключи: Код даты ссылается на Дата; Номер документа ссылается на Акт о приеме выполненных работ; Код сотрудника ссылается на Сотрудник; Код работы ссылается на Работа

ОЦЕНКА (код оценки, качество работы, объем работы, уровень выполнения работы)

Таблица, составленная исходя из связи многие - ко - многим:

ОБЯЗАННОСТЬ (Код обязанности, код сотрудника, код работы)

ОЦЕНКА РАБОТЫ (Код оценки работы, номер работы, код оценки)


Рис. 2. Модель данных

6. Создание и заполнение таблиц


Создание базы данных "Фитнес-клуб"

master;

Удаление базы данных с именем "Фитнес-клуб", если она существует

if exists(select * from sys.databases where name = 'Fitnes_klub')database Fitnes_klub;

end

Создание пустой базы данных "Фитнес-клуб"

create database Fitnes_klub;Fitnes_klub

Создание пользовательского типа

type Tip from varchar(max) not null;

go

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

Совокупность всех таблиц базы данных Fitnes_klub:

Рис. 3. Таблицы базы данных Fitnes_klub

Создание таблицы ДОЛЖНОСТЬ

table Dolzhnost (

Kod_dolzhnosti tinyint identity primary key,

Nazvanie Tip);

Рис. 4 Проект таблицы "ДОЛЖНОСТЬ"

Заполнение таблицы ДОЛЖНОСТЬ

insert into Dolzhnost(Nazvanie) values ('массажист');into Dolzhnost(Nazvanie) values ('менеджер');into Dolzhnost(Nazvanie) values ('фитнес-инструктор');into Dolzhnost(Nazvanie) values ('тренер');into Dolzhnost(Nazvanie) values ('администратор');into Dolzhnost(Nazvanie) values ('косметолог');into Dolzhnost(Nazvanie) values ('кассир');into Dolzhnost(Nazvanie) values ('уборщица');into Dolzhnost(Nazvanie) values ('воспитатель');into Dolzhnost(Nazvanie) values ('охранник');into Dolzhnost(Nazvanie) values ('директор');into Dolzhnost(Nazvanie) values ('врач');into Dolzhnost(Nazvanie) values ('главный бухгалтер');into Dolzhnost(Nazvanie) values ('продавец-консультант');

Рис. 5 Таблица "Должность"

Создание таблицы ВИД УЧАСТИЯ В РАБОТЕ

create table Vid_uchastiy_v_rabote(_vida_uchastiy_v_rabote tinyint identity primary key,_vida_v_rabote Tip);

Рис. 6 Проект таблицы "Вид участия в работе"

Заполнение таблицы ВИД УЧАСТИЯ В РАБОТЕ

insert Vid_uchastiy_v_rabote(Naimenovanie_vida_v_rabote) values ('сдал');Vid_uchastiy_v_rabote(Naimenovanie_vida_v_rabote) values ('принял');

Рис. 7. Таблица "Вид участия в работе"

оздание таблицы СОТРУДНИК

table Sotrudnik(

Kod_sotrudnika smallint identity primary key,_dolzhnosti tinyint not null foreign key references Dolzhnost (Kod_dolzhnosti),Tip,_pasporta Tip,_vida_uchastiy_v_rabote tinyint not null foreign key references Vid_uchastiy_v_rabote(Kod_vida_uchastiy_v_rabote));

Рис. 8. Проект таблицы "Сотрудник"

Заполнение таблицы СОТРУДНИК

into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Петров Алексей Федерович','5','890109 9076','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Чернышов Сергей Михайлович','4','673476 8065','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Черноярова Анастасия Павловна','7','907876 5609','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Симонова Дарья Владимировна','6','762135 6149','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Ильиных Владимир Владимирович','2','614356 7813','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Ильиных Татьяна Викторовна','9','713457 7754','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Попов Петр Сергеевич','3','878645 9731','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Огородникова Виктория Олеговна','12','561234 4178','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Клюшникова Алина Александровна','4','612343 8601','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Носова Ирина Александровна','8','813470 6144','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Круглов Сергей Витальевич','10','678934 8614','1');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Федотов Сергей Васильевич','13','513523 0342','2');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Федотова Татьяна Васильевна','11','719527 1834','2');into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Шичкин Андрей Степанович','14','354728 5421','1');

Рис. 9. Таблица "Сотрудник"

Создание таблицы РАБОТА

create table Rabota (_raboty smallint IDENTITY (901,1) primary key,

Naimenovanie Tip);

Рис. 10. Проект таблицы "Работа"

Заполнение таблицы РАБОТА

insert Rabota(Naimenovanie) values ('Персональные тренировки');Rabota(Naimenovanie) values ('Мануальная терапия');Rabota(Naimenovanie) values ('Физиологическое тестирование');Rabota(Naimenovanie) values ('Проведение групповых занятий');Rabota(Naimenovanie) values ('Наращивание ресниц');Rabota(Naimenovanie) values ('Управление персоналом');Rabota(Naimenovanie) values ('Классический массаж');Rabota(Naimenovanie) values ('Организация работы фитнес-клуба');Rabota(Naimenovanie) values ('Встреча клиентов');Rabota(Naimenovanie) values ('Прием денежных средств в кассу');Rabota(Naimenovanie) values ('Уборка территории');Rabota(Naimenovanie) values ('Работа с детьми');Rabota(Naimenovanie) values ('Охрана помещения');Rabota(Naimenovanie) values ('Организация бухгалтерского учета');Rabota(Naimenovanie) values ('Консультирование покупателей');

Рис. 11. Таблица "Работа"

Создание таблицы ДАТА

create table Data (_daty smallint identity primary key,_sostavleniy_dogovora date not null,_deistviy_dogovora date not null,_deistviy_dogovora date not null);

Рис. 12. Проект таблицы "Дата"

Заполнение таблицы ДАТА

insert Data(Data_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora) values ('12-08-2006','01-09-2006','10-01-2008');Data(Data_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora) values ('06-05-2001','10-05-2001','01-06-2003');Data(Data_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora) values ('01-04-2009','02-04-2009','11-01-2012');Data(Data_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora) values ('2010-07-01','2010-07-04','2013-01-15');

Рис. 13. Таблица "Дата"

Создание таблицы АКТ О ПРЕМЕ ВЫПОЛНЕННЫХ РАБОТ

create table Akt_o_prieme_vypolnennyh_rabot (_dokumenta smallint identity primary key,

Strukturnoe_podrazdelenie Tip);

Рис. 14 Проект таблицы "Акт о приеме выполненных работ"

Заполнение таблицы АКТ О ПРИЕМЕ ВЫПОЛНЕННЫХ РАБОТ

Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Тренажерный зал');Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Спортивный магазин');Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Студия красоты');

insert Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Солярий');Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Касса');Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Детский центр');Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Администрация');

Рис. 15. Таблица "Акт о преме работ"

table Vypolnennay_rabota (

Nomer_raboty smallint identity primary key,_daty smallint not null foreign key references Data(Kod_daty),_dokumenta smallint not null foreign key references Akt_o_prieme_vypolnennyh_rabot(Nomer_dokumenta),_sotrudnika smallint not null foreign key references Sotrudnik(Kod_sotrudnika),_raboty smallint not null foreign key references Rabota(Kod_raboty),

Summa money not null);

Рис. 16. Проект таблицы "Выполненная работа"

Заполнение таблицы ВЫПОЛНЕННАЯ РАБОТА

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('3','7','1','909','6000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('2','1','2','901','8000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','5','3','910','11000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('2','3','4','905','15000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('3','7','5','906','9000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('4','6','6','912','9000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','7','904','13000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','8','902','8000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('4','1','9','901','10000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','10','911','11000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('2','2','11','913','9000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('2','5','12','914','18000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('3','7','13','908','30000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('4','2','14','915','10000');Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','8','903','18000');

Рис. 17. Таблица "Выполненная работа"

Создание таблицы КАЧЕСТВО РАБОТЫ

create table Kachestvo_raboty(_kachestva_raboty tinyint identity primary key,

Naimenovanie_kachestva_raboty Tip);

Рис. 18. Проект таблицы "Качество работы"

Заполнение таблицы КАЧЕСТВО РАБОТЫ

Kachestvo_raboty(Naimenovanie_kachestva_raboty) values ('высокое качество работы');Kachestvo_raboty(Naimenovanie_kachestva_raboty) values ('среднее качество работы');Kachestvo_raboty(Naimenovanie_kachestva_raboty) values ('низкое качество работы');

Рис. 19 Таблица "Качество работы"

Создание таблицы ОБЪЁМ РАБОТЫ

create table Objem_rabty(_objema_rabty tinyint identity primary key,

Naimenovanie_objema_raboty Tip);

Рис. 20. Проект таблицы "Объём работы"

Заполнение таблицы ОБЪЁМ РАБОТЫ

insert Objem_rabty(Naimenovanie_objema_raboty) values ('полный объём работы');

insert Objem_rabty(Naimenovanie_objema_raboty) values ('средний объём работы');Objem_rabty(Naimenovanie_objema_raboty) values ('не полный объём работы');

Рис. 21 Таблица "Объём работы"

Создание таблицы УРОВЕНЬ ВЫПОЛНЕНИЯ РАБОТЫ

create table Uroven_vypolneniy_raboty(_urovny_vypolneniy_raboty tinyint identity primary key,_urovny_vypolneniy_raboty Tip);

Рис. 22. Проект таблицы "Уровень выполнения работ"

Заполнение таблицы УРОВЕНЬ ВЫПОЛНЕНИЯ РАБОТЫ

Uroven_vypolneniy_raboty(Naimenovanie_urovny_vypolneniy_raboty) values ('сложный уровень выполнения работы');Uroven_vypolneniy_raboty(Naimenovanie_urovny_vypolneniy_raboty) values ('средний уровень выполнения работы');Uroven_vypolneniy_raboty(Naimenovanie_urovny_vypolneniy_raboty) values ('легкий уровень выполнения работы');

Рис. 23. Таблица "Уровень выполнения работы"

Создание таблицы ОЦЕНКА

table Ocenka (

Kod_ocenki tinyint identity primary key,_kachestva_raboty tinyint not null foreign key references Kachestvo_raboty(Kod_kachestva_raboty),_objema_rabty tinyint not null foreign key references Objem_rabty(Kod_objema_rabty),_urovny_vypolneniy_raboty tinyint not null foreign key references Uroven_vypolneniy_raboty(Kod_urovny_vypolneniy_raboty));

Рис. 24. Проект таблицы "Оценка"

Заполнение таблицы ОЦЕНКА

insert into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('1','1','1');into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('2','2','2');into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('3','3','3');into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('1','2','3');into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('2','1','3');into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('3','3','1');into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('1','3','2');into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('2','3','1');into Ocenka(Kod_kachestva_raboty ,Kod_objema_rabty,Kod_urovny_vypolneniy_raboty) values ('3','2','1');

Рис. 25. Таблица "Оценка"

Создание таблицы ОБЯЗАННОСТЬ

create table Obyzannost (_obyzannosti smallint identity primary key,_sotrudnika smallint not null foreign key references Sotrudnik(Kod_sotrudnika),_raboty smallint not null foreign key references Rabota(Kod_raboty));

Рис. 26. Проект таблицы "Обязанность"

Заполнение таблицы ОБЯЗАННОСТЬ

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('1','909');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('2','901');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('3','910');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('4','905');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('5','906');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('6','912');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('7','904');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('8','902');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('9','901');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('10','911');Obyzannost(Kod_sotrudnika,Kod_raboty) values ('11','913');

Рис. 27. Таблица "Обязанность"

Создание таблицы ОЦЕНКА РАБОТЫ

create table Ocenka_raboty (_ocenki_raboty smallint identity primary key,_raboty smallint not null foreign key references Vypolnennay_rabota(Nomer_raboty),_ocenki tinyint not null foreign key references Ocenka(Kod_ocenki));

Рис. 28. Проект таблицы "Оценка работы "

Заполнение табдицы ОЦЕНКА РАБОТЫ

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('1','1');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('2','2');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('3','1');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('4','4');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('5','3');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('6','8');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('7','2');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('8','5');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('9','6');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('10','2');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('11','7');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('12','9');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('13','2');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('14','4');Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('15','7');

Рис. 29. Таблица "Оценка работы"

 


7. Объекты базы данных

Поставленные задачи решаются с помощью следующих объектов SQL Server 2008.

.1 Запросы

) Выбор сотрудников с видом участия "сдал"

select Naimenovanie_vida_v_rabote,FIOdbo.Sotrudnik,dbo.Vid_uchastiy_v_rabotedbo.Sotrudnik.Kod_vida_uchastiy_v_rabote=dbo.Vid_uchastiy_v_rabote.Kod_vida_uchastiy_v_raboteNaimenovanie_vida_v_rabote= 'сдал';


) Выбор суммы с номером документа равным 1

where Nomer_dokumenta = 1;


) Привести ФИО сотрудника и сумму работы с кодом даты = 4

select Kod_daty,FIO,Summadbo.Sotrudnik, dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND Kod_daty=4;


) Вывести структурное подразделение в котором работают сотрудники с кодом даты равным 4, а также ФИО сотрудников

select Strukturnoe_podrazdelenie,FIO,Kod_datydbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Sotrudnik,dbo.Vypolnennay_rabotadbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumentadbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikaKod_daty=4BY FIO;


) Вывести ФИО сотрудника и наименование должности с видом участия в работе "принял"

select FIO,Nazvanie,Naimenovanie_vida_v_rabotedbo.Sotrudnik,dbo.Dolzhnost,dbo.Vid_uchastiy_v_rabotedbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnostidbo.Sotrudnik.Kod_vida_uchastiy_v_rabote=dbo.Vid_uchastiy_v_rabote.Kod_vida_uchastiy_v_raboteNaimenovanie_vida_v_rabote='принял';


) Вывести ФИО, должность, название работы сотрудников, которые работают в структурном подразделении "тренажерный зал"

select FIO,Nazvanie,Naimenovanie,Strukturnoe_podrazdeleniedbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Sotrudnik,dbo.Dolzhnost,dbo.Rabota,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumentadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotyStrukturnoe_podrazdelenie='Тренажерный зал'BY FIO;


) Выбор ФИО сотрудников, код и название должности, которые имеют полный или средний объем работы и подсчитать их количество

select DISTINCT dbo.Dolzhnost.Kod_dolzhnosti,FIO,Nazvanie,Naimenovanie_objema_rabotydbo.Dolzhnost,dbo.Ocenka,dbo.Sotrudnik,dbo.Vypolnennay_rabota,dbo.Ocenka_raboty,dbo.Objem_rabtydbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnikadbo.Ocenka_raboty.Nomer_raboty=dbo.Vypolnennay_rabota.Nomer_rabotydbo.Ocenka_raboty.Kod_ocenki=dbo.Ocenka.Kod_ocenkidbo.Ocenka.Kod_objema_rabty=dbo.Objem_rabty.Kod_objema_rabty(Naimenovanie_objema_raboty='полный объём работы' OR Naimenovanie_objema_raboty='средний объём работы')BY dbo.Dolzhnost.Kod_dolzhnostiCOUNT(dbo.Dolzhnost.Kod_dolzhnosti);


) Вывести ФИО сотрудников и подсчитать для каждого сумму работы, где она больше 20000

база данные сотрудник поиск

select FIO, SUM(Summa) AS SUMMA

from dbo.Vypolnennay_rabota,dbo.Sotrudnik,dbo.Dolzhnost

where dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnosti

GROUP BY dbo.Sotrudnik.FIOSUM(Summa) > 20000;


) Вывести наименования структурных подразделений и количество работающих в них сотрудников

dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta, dbo.Akt_o_prieme_vypolnennyh_rabot.Strukturnoe_podrazdelenie,(dbo.Akt_o_prieme_vypolnennyh_rabot.Strukturnoe_podrazdelenie) AS Kolichestvo_sotrudnikovdbo.Sotrudnik,dbo.Vypolnennay_rabota,dbo.Akt_o_prieme_vypolnennyh_rabotdbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta=dbo.Vypolnennay_rabota.Nomer_dokumentaBY dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta, dbo.Akt_o_prieme_vypolnennyh_rabot.Strukturnoe_podrazdelenie;


) Вывести ФИО сотрудников и их должности, у которых сумма работы больше 11000

select FIO,Nazvanie,Summadbo.Dolzhnost,dbo.Vypolnennay_rabota,dbo.Sotrudnikdbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Summa IN

(select Summadbo.Vypolnennay_rabotadbo.Vypolnennay_rabota.Summa>=11000);


11) Вывести должность, структурное подразделение сотрудников с фамилией на Ф

select FIO,Nazvanie,Strukturnoe_podrazdeleniedbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Dolzhnost,dbo.Sotrudnik,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta=dbo.Vypolnennay_rabota.Nomer_dokumentadbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnikaFIO LIKE 'Ф%';


) Вывести ФИО сотрудников, их должности, наименования работ, которые были составлены между 2001-06-05 и 2006-12-08 и подсчитать их количество

select FIO,Nazvanie,Naimenovanie,Data_sostavleniy_dogovoradbo.Data,dbo.Dolzhnost,dbo.Rabota,dbo.Sotrudnik,dbo.Vypolnennay_rabotadbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnostidbo.Rabota.Kod_raboty=dbo.Vypolnennay_rabota.Kod_rabotydbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_datyData_sostavleniy_dogovora BETWEEN '2001-06-05' AND '2006-12-08'COUNT(Data_sostavleniy_dogovora);


) Выбор сотрудников у которых сложный уровень выполнения работ и подсчитать их количество

select FIO,Nazvanie,dbo.Rabota.Kod_raboty,Naimenovanie,Naimenovanie_urovny_vypolneniy_rabotydbo.Sotrudnik,dbo.Ocenka,dbo.Dolzhnost,dbo.Rabota,dbo.Ocenka_raboty,dbo.Vypolnennay_rabota,dbo.Uroven_vypolneniy_rabotydbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnostidbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotydbo.Vypolnennay_rabota.Nomer_raboty=dbo.Ocenka_raboty.Nomer_rabotydbo.Ocenka_raboty.Kod_ocenki=dbo.Ocenka.Kod_ocenkidbo.Ocenka.Kod_urovny_vypolneniy_raboty=dbo.Uroven_vypolneniy_raboty.Kod_urovny_vypolneniy_rabotyNaimenovanie_urovny_vypolneniy_raboty = 'сложный уровень выполнения работы'

COMPUTE COUNT(FIO);


) Вывод ФИО и коды всех сотрудников, а также наименования их должностей и работ

select FIO,dbo.Sotrudnik.Kod_sotrudnika,Nazvanie AS Naimenovanie_dolzhnosti_and_rabotydbo.Dolzhnost,dbo.Sotrudnikdbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostiFIO,dbo.Sotrudnik.Kod_sotrudnika,Naimenovaniedbo.Rabota,dbo.Sotrudnik,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

ORDER BY FIO;


15) Вывести ФИО сотрудников у которых сумма находится между 8000 и 16000

select FIO, SUM(Summa) AS SUMMAdbo.Vypolnennay_rabota,dbo.Sotrudnik,dbo.Dolzhnostdbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnostiSumma BETWEEN '8000' AND '16000'BY dbo.Sotrudnik.FIO;


) Вывести среднюю сумму работ каждого сотрудника, а также ФИО сотрудника и его должность

select FIO, AVG(Summa) AS Srednyy_summadbo.Sotrudnik,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

GROUP BY FIO;


17) Выбор ФИО и должность сотрудников с самой ранней датой составления договора

select FIO,Nazvanie,Data_sostavleniy_dogovoradbo.Sotrudnik,dbo.Dolzhnost,dbo.Data,dbo.Vypolnennay_rabotadbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_sotrudnikadbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_datyData_sostavleniy_dogovora=

(select MIN(Data_sostavleniy_dogovora)

from dbo.Data);


) Вывод сотрудников и сумму работ для каждого, у которых ФИО начинается на И

select FIO, SUM(Summa) AS SUMMAdbo.Vypolnennay_rabota,dbo.Sotrudnik,dbo.Dolzhnostdbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnostiBY dbo.Sotrudnik.FIOFIO LIKE 'И%';


) Вывод наименования работы и количество сотрудников, работающих на таких условиях

select Naimenovanie,dbo.Sotrudnik.Kod_sotrudnika,(dbo.Sotrudnik.Kod_sotrudnika) AS Kolichestvo_sotrudnikovdbo.Sotrudnik,dbo.Rabota,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotyBY Naimenovanie,dbo.Sotrudnik.Kod_sotrudnika;


) Выбор сотрудников у которых полный объём работ и подсчитать их количество

select FIO,Nazvanie,dbo.Rabota.Kod_raboty,Naimenovanie,Naimenovanie_objema_rabotydbo.Sotrudnik,dbo.Ocenka,dbo.Dolzhnost,dbo.Rabota,dbo.Ocenka_raboty,dbo.Vypolnennay_rabota,dbo.Objem_rabtydbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnostidbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotydbo.Vypolnennay_rabota.Nomer_raboty=dbo.Ocenka_raboty.Nomer_rabotydbo.Ocenka_raboty.Kod_ocenki=dbo.Ocenka.Kod_ocenkiNaimenovanie_objema_raboty = 'полный объём работы';


) Создается представление которое содержит часть информации о каждом работнике (код сотрудника, ФИО, данные паспорта, должность, дату составления договора, наименование структурных подразделений в которых они работают)

goview Obshay_informaciy_o_sotrudnike asdbo.Sotrudnik.Kod_sotrudnika,FIO,Dannye_pasporta,Nazvanie,Data_sostavleniy_dogovora,Strukturnoe_podrazdeleniedbo.Sotrudnik,dbo.Dolzhnost,dbo.Data,dbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_datydbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta;

Результат выполнения представления:


) Создается представление которое содержит часть информации о каждом работнике (код сотрудника, ФИО, должность, данные паспорта,наименование работы которую сотрудник выполняет, сумму,котрую он получает за работу)

goview Infrmaciy_sorudnikov_o_ih_rabote asdbo.Sotrudnik.Kod_sotrudnika,Dannye_pasporta,Nazvanie, FIO,Naimenovanie,Summadbo.Sotrudnik,dbo.Rabota,dbo.Vypolnennay_rabota,dbo.Dolzhnostdbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty;

Результат выполнения представления:


) Создается представление в котором содержится краткая информация о каждом сотруднике (код сотрудника, ФИО, должность, работа, качество работы, объём работы, уровень выполнения работы)

goview Kratkay_info_o_rabote_sotrudnikov asdbo.Sotrudnik.Kod_sotrudnika,FIO,Dannye_pasporta,Nazvanie,Naimenovanie,Naimenovanie_kachestva_raboty,Naimenovanie_objema_raboty,Naimenovanie_urovny_vypolneniy_rabotydbo.Sotrudnik,dbo.Rabota,dbo.Dolzhnost,dbo.Kachestvo_raboty,dbo.Vypolnennay_rabota,dbo.Objem_rabty,dbo.Uroven_vypolneniy_raboty,dbo.Ocenka_raboty,dbo.Ocenkadbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotydbo.Vypolnennay_rabota.Nomer_raboty=dbo.Ocenka_raboty.Nomer_rabotydbo.Ocenka_raboty.Kod_ocenki=dbo.Ocenka.Kod_ocenkidbo.Ocenka.Kod_kachestva_raboty=dbo.Kachestvo_raboty.Kod_kachestva_rabotydbo.Ocenka.Kod_objema_rabty=dbo.Objem_rabty.Kod_objema_rabtydbo.Ocenka.Kod_urovny_vypolneniy_raboty=dbo.Uroven_vypolneniy_raboty.Kod_urovny_vypolneniy_raboty;

Результат выполнения представления:


.3 Хранимые процедуры

) Процедура выводит наименование должности по коду должности

goprocedure Naim_dolzhnosti(@KodDolzh tinyint =3) asKod_dolzhnosti,Nazvaniedbo.DolzhnostKod_dolzhnosti=@KodDolzh;Naim_dolzhnosti 2;


) Выводит код работы по наименованию работы

goprocedure KodRab @KR varchar(max) asKod_raboty,Naimenovaniedbo.Rabota

where Naimenovanie = @KR;KodRab 'управление персоналом';


) Выводит всех сотрудников нужной должности по должности

goprocedure Sotr (@kod smallint = 5) asKod_sotrudnika,FIO,Nazvaniedbo.Dolzhnost,dbo.Sotrudnikdbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Dolzhnost.Kod_dolzhnosti = @kod;

goSotr 4;


) Выводит всю информацию о сотруднике по ФИО из представления Obshay_informaciy_o_sotrudnike

goprocedure Obshay_informaciy_o_sotrudnike_po_FIO @FIOrab varchar(max) as*Obshay_informaciy_o_sotrudnikeFIO = @FIOrab;Obshay_informaciy_o_sotrudnike_po_FIO'Федотов Сергей Васильевич';


) Выводит всю информацию о сотруднике по ФИО из представления Infrmaciy_sorudnikov_o_ih_rabote

goprocedure Infrmaciy_sorudnikov_o_ih_rabote_po_FIO @PredstFIO varchar(max) as*Infrmaciy_sorudnikov_o_ih_raboteFIO = @PredstFIO;Infrmaciy_sorudnikov_o_ih_rabote_po_FIO 'Ильиных Владимир Владимирович';


) Выводит всю информацию о сотруднике по ФИО из представления Kratkay_info_o_rabote_sotrudnikov

goprocedure Kratkay_info_o_rabote_sotrudnikov_po_FIO @PoFIOPredst varchar(max) as*Kratkay_info_o_rabote_sotrudnikovFIO = @PoFIOPredst;Kratkay_info_o_rabote_sotrudnikov_po_FIO 'Федотова Татьяна Васильевна';


) Выводит часть информации о сотруднике по коду сотрудника( ФИО,данные паспорта, должность, работу)

goprocedure Chast_info (@KodInf smallint = 4) asFIO,Dannye_pasporta,Nazvanie,Naimenovaniedbo.Rabota,dbo.Sotrudnik,dbo.Dolzhnost,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotydbo.Sotrudnik.Kod_sotrudnika = @KodInf

goChast_info 5;


) Dыводит дату составления документа, дату начала действия договора, дату конца действия договора и ФИО работника по номеру документа

goprocedure DataDog (@Dat int) asData_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora,FIOdbo.Data,dbo.Sotrudnik,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_datydbo.Vypolnennay_rabota.Nomer_dokumenta = @Dat;

goDataDog 7;



9) Выводит ФИО, должность, название работы сотрудников, название структурного подразделени в котором они работают , по коду сотрудника

goprocedure Str_podr (@KSP tinyint = 3) asFIO,Nazvanie,Naimenovanie,Strukturnoe_podrazdeleniedbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Sotrudnik,dbo.Dolzhnost,dbo.Rabota,dbo.Vypolnennay_rabotadbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumentadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotydbo.Sotrudnik.Kod_sotrudnika= @KSP;

goStr_podr 13;


) Выводит качество, объем и уровень выполнения работ по коду оценки

goprocedure K_ocenka (@OK tinyint = 2) asNaimenovanie_kachestva_raboty,Naimenovanie_objema_raboty,Naimenovanie_urovny_vypolneniy_rabotydbo.Uroven_vypolneniy_raboty,dbo.Objem_rabty,dbo.Kachestvo_raboty,dbo.Ocenkadbo.Ocenka.Kod_kachestva_raboty=dbo.Kachestvo_raboty.Kod_kachestva_rabotydbo.Ocenka.Kod_objema_rabty=dbo.Objem_rabty.Kod_objema_rabtydbo.Ocenka.Kod_urovny_vypolneniy_raboty=dbo.Uroven_vypolneniy_raboty.Kod_urovny_vypolneniy_rabotydbo.Ocenka.Kod_ocenki = @OK;

goK_ocenka 4;


) выводит наименование работы по коду работы

goprocedure Krsot (@KRABO smallint = 3) asKod_raboty,Naimenovaniedbo.Rabotadbo.Rabota.Kod_raboty = @KRABO;

goKrsot 902;


12) выводит краткую информацию о сотруднике (ФИО, данные паспорта, должность, работу) по виду участия в работе

goprocedure VidUch @UchR varchar(max) asDISTINCT FIO,Dannye_pasporta,Nazvanie,Naimenovaniedbo.Rabota,dbo.Sotrudnik,dbo.Vypolnennay_rabota,dbo.Dolzhnost,dbo.Vid_uchastiy_v_rabotedbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotydbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_vida_uchastiy_v_rabote=dbo.Vid_uchastiy_v_rabote.Kod_vida_uchastiy_v_rabotedbo.Vid_uchastiy_v_rabote.Naimenovanie_vida_v_rabote = @UchR;

goVidUch 'принял';


) выводит ФИО, коды сотрудников, с должностью "тренер" и структурным подразделением "тренажерный зал" и их количество

goprocedure DolzhSotr @Struktur varchar(max), @dolzhnost varchar(max) asFIO,dbo.Sotrudnik.Kod_sotrudnika,Nazvanie,Naimenovanie,Strukturnoe_podrazdeleniedbo.Dolzhnost,dbo.Sotrudnik,dbo.Rabota,dbo.Vypolnennay_rabota,dbo.Akt_o_prieme_vypolnennyh_rabotdbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostiNazvanie= @dolzhnostdbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotydbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumentadbo.Akt_o_prieme_vypolnennyh_rabot.Strukturnoe_podrazdelenie=@StrukturCOUNT(dbo.Sotrudnik.Kod_sotrudnika);DolzhSotr @Struktur = 'тренажерный зал',@dolzhnost = 'тренер';


) выводит всю информацию для сотрудников с должностью 'врач'

procedure Informathion @vr varchar(max) as*dbo.Sotrudnik,dbo.Dolzhnost,dbo.Rabota,dbo.Vypolnennay_rabota,dbo.Akt_o_prieme_vypolnennyh_rabotdbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Dolzhnost.Nazvanie=@vrdbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumentadbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_rabotyInformathion @vr = 'тренер';


) Процедура выводит ФИО и код сотрудника, данные паспорта, должность, дату составления договора, количество проработанных лет в данной организации

goprocedure Info_kolichestvo_pror_day @Imy varchar(max) as@curdate date@curdate = GETDATE()dbo.Sotrudnik.Kod_sotrudnika, FIO,Dannye_pasporta,Nazvanie,Data_sostavleniy_dogovora, DATEDIFF(MONTH,Data_sostavleniy_dogovora,@curdate)/12 AS ProrabotalVOrganizaciiLetdbo.Sotrudnik,dbo.Dolzhnost,dbo.Data,dbo.Vypolnennay_rabotaFIO = @Imydbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnostidbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnikadbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_daty;Info_kolichestvo_pror_day @Imy = 'Огородникова Виктория Олеговна';


.4 Триггеры

) Запрет на добавление суммы меньше 2000

gotrigger ZapretVvodadbo.Vypolnennay_rabotaINSERT(select Summa from inserted) < '2000'TRANSACTION'Сумма меньше 2000, нельзя добавить!'print 'Сумма добавлена';Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','5','909','3000')


gotrigger data_sosdbo.Datainsert, update, deleteexists(select *dbo.Data where dbo.Data.Data_sostavleniy_dogovora ={fn CURRENT_DATE()})'Дата добавлена'

print 'Дата введена не верно!'

endData(Data_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora) values ('2009-08-09','2010-09-10','2012-01-12')


2) Удаление

trigger Udalendbo.Sotrudnik

for deleteprint 'Из таблицы Cотрудник удалена запись!'

gofrom dbo.Sotrudnik where Kod_sotrudnika=15



Заключение


Выполненная работа по созданию базы данных полностью отразила требования к информационной системе конкретной организации.

Цели и задачи, поставленные в начале работы, были выполнены.

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

Список литературы


1.      Дейт К.Дж. Введение в системы баз данных. - К.: Диалектика, 1998.

2.      Диго С.М. Проектирование и использование баз данных: Учебник. - М.: Финансы и статистика, 1995.

.        Коннолли Т., Бегг К., Страчан А. Базы данных: Проектирование, реализация и сопровождение: Теория и практика. - К, М, СПб: Вильямс, 2000.

.        (URL:http://msdn.microsoft.com/ru-ru/library/bb418440%28v=SQL.10%29.aspx)

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!