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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.06.2015
Размер файла 3,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

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

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

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

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

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

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

Оглавление

Введение

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

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

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

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

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

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

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

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

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

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

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

7.1 Запросы

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

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

7.4 Триггеры

Заключение

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Форма №Т-73 "Акт о приеме работ, выполненных по срочному трудовому договору, заключенному на время выполнения определенной работы", является основанием для окончательного или поэтапного расчета сумм оплаты выполненных работ.

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

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

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

Заполняя форму, обратите внимание на графу 2 "Наименование работы", посмотрите, как распределяются суммы, выплачиваемые работнику на основании акта о приемке работ. В некоторых случаях это поможет сэкономить на уплате единого социального налога. Так, например, в рамках одного договора подряда работнику могут быть оплачены как его труд, так и расходы по покупке тех или иных материалов, необходимых для выполнения работ. В этом случае все суммы, выплаченные работнику, будут облагаться ЕСН. Если в этой ситуации заключить два договора (первый купли-продажи материалов, второй на выполнение работ), то средства, выданные в оплату материалов, ЕСН облагаться не будут. Это позволит вывести значительные суммы из-под налогообложения. Акт подписывают сотрудник, выполнивший работу, и руководитель структурного подразделения, который принял ее результат. Руководитель организации должен утвердить акт. После оформления акта его передают в бухгалтерию для расчета и выплаты исполнителю причитающейся суммы. Акт хранят в архиве организации пять лет. Применяется для оформления и учета приемки-сдачи работ, выполненных работником по трудовому договору (контракту), заключенному на время выполнения определенной работы. Является основанием для окончательного или поэтапного расчета сумм оплаты выполненных работ. Составляется работником, ответственным за приемку выполненных работ, утверждается руководителем организации или уполномоченным им лицом и передается в бухгалтерию для расчета и выплаты исполнителю работ причитающейся суммы.

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

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

В Фитнес - клубе "Будь в тонусе!" огромный штат сотрудников:

- директор;

- 2 менеджера (управляющие);

- 28 сотрудников в тренажерном зале;

- 14 фитнес - инструкторов;

- 8 тренеров по восточным единоборствам;

- 7 воспитателей в детском центре;

- 2 врача;

- 7 сотрудников салона красоты;

- 4 массажиста;

- 12 администраторов рецепции;

- 2 кассира;

- уборщицы;

- охранники;

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

Директор предоставляет бесплатные возможности по обучению персонала, посылая инструкторов на фитнес - конвенции и семинары. Таким образом, уровень квалификации работников постоянно повышается.

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

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

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

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

В подчинении директора находятся 2 менеджера (управляющих).

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

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

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

Менеджер также принимает участие в работе по оценке качества труда, ведет журнал учета.

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

В обязанности фитнес - инструкторов входит:

· проведение групповых занятий

· персональные тренировки

· составление программы тренировок

· соблюдение безопасности на занятиях

В обязанности врачей входит:

· физиологическое тестирование

· диагностика состава тела

· составление диеты

В обязанности парикмахера входит:

· выполнение стрижки, бритье кожи головы;

· осуществление завивки и укладки волос химическим и электрическим способом;

· укладка, выполнение вечерних и свадебных причесок;

· окрашивание волос в различные цвета и оттенки;

· наращивание волос.

В обязанности мастера маникюра и педикюра входит:

· маникюр (классический, французский, худ. маникюр)

· наращивание ногтей акрилом или гелем, реставрация ногтей

· педикюр аппаратный

В обязанности косметолога входит:

· пирсинг, прокалывание ушей

· оформление и окрашивание бровей и ресниц

· наращивание ресниц

В обязанности массажиста входит:

· классический массаж

· спортивный массаж

· лечебный массаж осанки

· мануальная терапия

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

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

· Цели и задачи автоматизации:

· Получение подробной информации обо всех сотрудниках организации

· Ускорение процесса заполнения данных о сотрудниках и работе

· Повышение эффективности работы отдела кадров и бухгалтерии

· Структурирование имеющейся информации

· Получение информации об объектах работы каждого сотрудника

· Точный и быстрый анализ информации о работнике

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

use master;

go

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

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

begin

drop database Fitnes_klub;

end

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

create database Fitnes_klub;

go

use Fitnes_klub

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

create type Tip from varchar(max) not null;

go

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

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

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

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

create table Dolzhnost (

Kod_dolzhnosti tinyint identity primary key,

Nazvanie Tip);

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

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

insert into Dolzhnost(Nazvanie) values ('массажист');

insert into Dolzhnost(Nazvanie) values ('менеджер');

insert into Dolzhnost(Nazvanie) values ('фитнес-инструктор');

insert into Dolzhnost(Nazvanie) values ('тренер');

insert into Dolzhnost(Nazvanie) values ('администратор');

insert into Dolzhnost(Nazvanie) values ('косметолог');

insert into Dolzhnost(Nazvanie) values ('кассир');

insert into Dolzhnost(Nazvanie) values ('уборщица');

insert into Dolzhnost(Nazvanie) values ('воспитатель');

insert into Dolzhnost(Nazvanie) values ('охранник');

insert into Dolzhnost(Nazvanie) values ('директор');

insert into Dolzhnost(Nazvanie) values ('врач');

insert into Dolzhnost(Nazvanie) values ('главный бухгалтер');

insert into Dolzhnost(Nazvanie) values ('продавец-консультант');

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

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

create table Vid_uchastiy_v_rabote(

Kod_vida_uchastiy_v_rabote tinyint identity primary key,

Naimenovanie_vida_v_rabote Tip);

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

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

insert Vid_uchastiy_v_rabote(Naimenovanie_vida_v_rabote) values ('сдал');

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

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

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

create table Sotrudnik(

Kod_sotrudnika smallint identity primary key,

Kod_dolzhnosti tinyint not null foreign key references Dolzhnost (Kod_dolzhnosti),

FIO Tip,

Dannye_pasporta Tip,

Kod_vida_uchastiy_v_rabote tinyint not null foreign key references Vid_uchastiy_v_rabote(Kod_vida_uchastiy_v_rabote));

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

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

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Петров Алексей Федерович','5','890109 9076','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Чернышов Сергей Михайлович','4','673476 8065','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Черноярова Анастасия Павловна','7','907876 5609','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Симонова Дарья Владимировна','6','762135 6149','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Ильиных Владимир Владимирович','2','614356 7813','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Ильиных Татьяна Викторовна','9','713457 7754','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Попов Петр Сергеевич','3','878645 9731','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Огородникова Виктория Олеговна','12','561234 4178','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Клюшникова Алина Александровна','4','612343 8601','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Носова Ирина Александровна','8','813470 6144','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Круглов Сергей Витальевич','10','678934 8614','1');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Федотов Сергей Васильевич','13','513523 0342','2');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Федотова Татьяна Васильевна','11','719527 1834','2');

insert into Sotrudnik(FIO,Kod_dolzhnosti,Dannye_pasporta,Kod_vida_uchastiy_v_rabote) values ('Шичкин Андрей Степанович','14','354728 5421','1');

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

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

create table Rabota (

Kod_raboty smallint IDENTITY (901,1) primary key,

Naimenovanie Tip);

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

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

insert Rabota(Naimenovanie) values ('Персональные тренировки');

insert Rabota(Naimenovanie) values ('Мануальная терапия');

insert Rabota(Naimenovanie) values ('Физиологическое тестирование');

insert Rabota(Naimenovanie) values ('Проведение групповых занятий');

insert Rabota(Naimenovanie) values ('Наращивание ресниц');

insert Rabota(Naimenovanie) values ('Управление персоналом');

insert Rabota(Naimenovanie) values ('Классический массаж');

insert Rabota(Naimenovanie) values ('Организация работы фитнес-клуба');

insert Rabota(Naimenovanie) values ('Встреча клиентов');

insert Rabota(Naimenovanie) values ('Прием денежных средств в кассу');

insert Rabota(Naimenovanie) values ('Уборка территории');

insert Rabota(Naimenovanie) values ('Работа с детьми');

insert Rabota(Naimenovanie) values ('Охрана помещения');

insert Rabota(Naimenovanie) values ('Организация бухгалтерского учета');

insert Rabota(Naimenovanie) values ('Консультирование покупателей');

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

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

create table Data (

Kod_daty smallint identity primary key,

Data_sostavleniy_dogovora date not null,

Nachalo_deistviy_dogovora date not null,

Konec_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');

insert Data(Data_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora) values ('06-05-2001','10-05-2001','01-06-2003');

insert Data(Data_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora) values ('01-04-2009','02-04-2009','11-01-2012');

insert 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 (

Nomer_dokumenta smallint identity primary key,

Strukturnoe_podrazdelenie Tip);

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

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

insert Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Тренажерный зал');

insert Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Спортивный магазин');

insert Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Студия красоты');

insert Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Солярий');

insert Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Касса');

insert Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Детский центр');

insert Akt_o_prieme_vypolnennyh_rabot(Strukturnoe_podrazdelenie) values ('Администрация');

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

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

create table Vypolnennay_rabota (

Nomer_raboty smallint identity primary key,

Kod_daty smallint not null foreign key references Data(Kod_daty),

Nomer_dokumenta smallint not null foreign key references Akt_o_prieme_vypolnennyh_rabot(Nomer_dokumenta),

Kod_sotrudnika smallint not null foreign key references Sotrudnik(Kod_sotrudnika),

Kod_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');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','5','3','910','11000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('2','3','4','905','15000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('3','7','5','906','9000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('4','6','6','912','9000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','7','904','13000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','8','902','8000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('4','1','9','901','10000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','10','911','11000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('2','2','11','913','9000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('2','5','12','914','18000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('3','7','13','908','30000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('4','2','14','915','10000');

insert Vypolnennay_rabota(Kod_daty,Nomer_dokumenta,Kod_sotrudnika,Kod_raboty,Summa) values ('1','1','8','903','18000');

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

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

create table Kachestvo_raboty(

Kod_kachestva_raboty tinyint identity primary key,

Naimenovanie_kachestva_raboty Tip);

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

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

insert Kachestvo_raboty(Naimenovanie_kachestva_raboty) values ('высокое качество работы');

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

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

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

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

create table Objem_rabty(

Kod_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 ('средний объём работы');

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

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

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

create table Uroven_vypolneniy_raboty(

Kod_urovny_vypolneniy_raboty tinyint identity primary key,

Naimenovanie_urovny_vypolneniy_raboty Tip);

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

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

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

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

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

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

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

create table Ocenka (

Kod_ocenki tinyint identity primary key,

Kod_kachestva_raboty tinyint not null foreign key references Kachestvo_raboty(Kod_kachestva_raboty),

Kod_objema_rabty tinyint not null foreign key references Objem_rabty(Kod_objema_rabty),

Kod_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');

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

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

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

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

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

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

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

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

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

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

create table Obyzannost (

Kod_obyzannosti smallint identity primary key,

Kod_sotrudnika smallint not null foreign key references Sotrudnik(Kod_sotrudnika),

Kod_raboty smallint not null foreign key references Rabota(Kod_raboty));

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

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

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('1','909');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('2','901');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('3','910');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('4','905');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('5','906');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('6','912');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('7','904');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('8','902');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('9','901');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('10','911');

insert Obyzannost(Kod_sotrudnika,Kod_raboty) values ('11','913');

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

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

create table Ocenka_raboty (

Kod_ocenki_raboty smallint identity primary key,

Nomer_raboty smallint not null foreign key references Vypolnennay_rabota(Nomer_raboty),

Kod_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');

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

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

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('5','3');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('6','8');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('7','2');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('8','5');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('9','6');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('10','2');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('11','7');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('12','9');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('13','2');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('14','4');

insert Ocenka_raboty(Nomer_raboty,Kod_ocenki) values ('15','7');

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

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

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

7.1 Запросы

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

select Naimenovanie_vida_v_rabote,FIO

from dbo.Sotrudnik,dbo.Vid_uchastiy_v_rabote

where dbo.Sotrudnik.Kod_vida_uchastiy_v_rabote=dbo.Vid_uchastiy_v_rabote.Kod_vida_uchastiy_v_rabote

AND Naimenovanie_vida_v_rabote= 'сдал';

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

select Nomer_dokumenta,Summa

from dbo.Vypolnennay_rabota

where Nomer_dokumenta = 1;

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

select Kod_daty,FIO,Summa

from dbo.Sotrudnik, dbo.Vypolnennay_rabota

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

AND Kod_daty=4;

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

select Strukturnoe_podrazdelenie,FIO,Kod_daty

from dbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Sotrudnik,dbo.Vypolnennay_rabota

where dbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND Kod_daty=4

ORDER BY FIO;

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

select FIO,Nazvanie,Naimenovanie_vida_v_rabote

from dbo.Sotrudnik,dbo.Dolzhnost,dbo.Vid_uchastiy_v_rabote

where dbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnosti

AND dbo.Sotrudnik.Kod_vida_uchastiy_v_rabote=dbo.Vid_uchastiy_v_rabote.Kod_vida_uchastiy_v_rabote

AND Naimenovanie_vida_v_rabote='принял';

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

select FIO,Nazvanie,Naimenovanie,Strukturnoe_podrazdelenie

from dbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Sotrudnik,dbo.Dolzhnost,dbo.Rabota,dbo.Vypolnennay_rabota

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

AND Strukturnoe_podrazdelenie='Тренажерный зал'

ORDER BY FIO;

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

select DISTINCT dbo.Dolzhnost.Kod_dolzhnosti,FIO,Nazvanie,Naimenovanie_objema_raboty

from dbo.Dolzhnost,dbo.Ocenka,dbo.Sotrudnik,dbo.Vypolnennay_rabota,dbo.Ocenka_raboty,dbo.Objem_rabty

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnika

AND dbo.Ocenka_raboty.Nomer_raboty=dbo.Vypolnennay_rabota.Nomer_raboty

AND dbo.Ocenka_raboty.Kod_ocenki=dbo.Ocenka.Kod_ocenki

AND dbo.Ocenka.Kod_objema_rabty=dbo.Objem_rabty.Kod_objema_rabty

AND (Naimenovanie_objema_raboty='полный объём работы' OR Naimenovanie_objema_raboty='средний объём работы')

ORDER BY dbo.Dolzhnost.Kod_dolzhnosti

COMPUTE COUNT(dbo.Dolzhnost.Kod_dolzhnosti);

8) Вывести ФИО сотрудников и подсчитать для каждого сумму работы, где она больше 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.FIO

HAVING SUM(Summa) > 20000;

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

select dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta, dbo.Akt_o_prieme_vypolnennyh_rabot.Strukturnoe_podrazdelenie,

COUNT(dbo.Akt_o_prieme_vypolnennyh_rabot.Strukturnoe_podrazdelenie) AS Kolichestvo_sotrudnikov

from dbo.Sotrudnik,dbo.Vypolnennay_rabota,dbo.Akt_o_prieme_vypolnennyh_rabot

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

AND dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta=dbo.Vypolnennay_rabota.Nomer_dokumenta

GROUP BY dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta, dbo.Akt_o_prieme_vypolnennyh_rabot.Strukturnoe_podrazdelenie;

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

select FIO,Nazvanie,Summa

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

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Summa IN

(select Summa

from dbo.Vypolnennay_rabota

where dbo.Vypolnennay_rabota.Summa>=11000);

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

select FIO,Nazvanie,Strukturnoe_podrazdelenie

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

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta=dbo.Vypolnennay_rabota.Nomer_dokumenta

AND dbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnika

AND FIO LIKE 'Ф%';

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

select FIO,Nazvanie,Naimenovanie,Data_sostavleniy_dogovora

from dbo.Data,dbo.Dolzhnost,dbo.Rabota,dbo.Sotrudnik,dbo.Vypolnennay_rabota

where dbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnosti

AND dbo.Rabota.Kod_raboty=dbo.Vypolnennay_rabota.Kod_raboty

AND dbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_daty

AND Data_sostavleniy_dogovora BETWEEN '2001-06-05' AND '2006-12-08'

COMPUTE COUNT(Data_sostavleniy_dogovora);

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

select FIO,Nazvanie,dbo.Rabota.Kod_raboty,Naimenovanie,Naimenovanie_urovny_vypolneniy_raboty

from dbo.Sotrudnik,dbo.Ocenka,dbo.Dolzhnost,dbo.Rabota,dbo.Ocenka_raboty,dbo.Vypolnennay_rabota,dbo.Uroven_vypolneniy_raboty

where dbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnosti

AND dbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

AND dbo.Vypolnennay_rabota.Nomer_raboty=dbo.Ocenka_raboty.Nomer_raboty

AND dbo.Ocenka_raboty.Kod_ocenki=dbo.Ocenka.Kod_ocenki

AND dbo.Ocenka.Kod_urovny_vypolneniy_raboty=dbo.Uroven_vypolneniy_raboty.Kod_urovny_vypolneniy_raboty

AND Naimenovanie_urovny_vypolneniy_raboty = 'сложный уровень выполнения работы'

COMPUTE COUNT(FIO);

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

select FIO,dbo.Sotrudnik.Kod_sotrudnika,Nazvanie AS Naimenovanie_dolzhnosti_and_raboty

from dbo.Dolzhnost,dbo.Sotrudnik

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

UNION

select FIO,dbo.Sotrudnik.Kod_sotrudnika,Naimenovanie

from dbo.Rabota,dbo.Sotrudnik,dbo.Vypolnennay_rabota

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

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

ORDER BY FIO;

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

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

AND Summa BETWEEN '8000' AND '16000'

GROUP BY dbo.Sotrudnik.FIO;

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

select FIO, AVG(Summa) AS Srednyy_summa

from dbo.Sotrudnik,dbo.Vypolnennay_rabota

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

GROUP BY FIO;

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

select FIO,Nazvanie,Data_sostavleniy_dogovora

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

where dbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_sotrudnika

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_daty

AND Data_sostavleniy_dogovora=

(select MIN(Data_sostavleniy_dogovora)

from dbo.Data);

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

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.FIO

HAVING FIO LIKE 'И%';

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

select Naimenovanie,dbo.Sotrudnik.Kod_sotrudnika,

COUNT(dbo.Sotrudnik.Kod_sotrudnika) AS Kolichestvo_sotrudnikov

from dbo.Sotrudnik,dbo.Rabota,dbo.Vypolnennay_rabota

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

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

GROUP BY Naimenovanie,dbo.Sotrudnik.Kod_sotrudnika;

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

select FIO,Nazvanie,dbo.Rabota.Kod_raboty,Naimenovanie,Naimenovanie_objema_raboty

from dbo.Sotrudnik,dbo.Ocenka,dbo.Dolzhnost,dbo.Rabota,dbo.Ocenka_raboty,dbo.Vypolnennay_rabota,dbo.Objem_rabty

where dbo.Dolzhnost.Kod_dolzhnosti=dbo.Sotrudnik.Kod_dolzhnosti

AND dbo.Vypolnennay_rabota.Kod_sotrudnika=dbo.Sotrudnik.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

AND dbo.Vypolnennay_rabota.Nomer_raboty=dbo.Ocenka_raboty.Nomer_raboty

AND dbo.Ocenka_raboty.Kod_ocenki=dbo.Ocenka.Kod_ocenki

AND Naimenovanie_objema_raboty = 'полный объём работы';

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

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

go

create view Obshay_informaciy_o_sotrudnike as

select dbo.Sotrudnik.Kod_sotrudnika,FIO,Dannye_pasporta,Nazvanie,Data_sostavleniy_dogovora,Strukturnoe_podrazdelenie

from dbo.Sotrudnik,dbo.Dolzhnost,dbo.Data,dbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Vypolnennay_rabota

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_daty

AND dbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta;

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

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

go

create view Infrmaciy_sorudnikov_o_ih_rabote as

select dbo.Sotrudnik.Kod_sotrudnika,Dannye_pasporta,Nazvanie, FIO,Naimenovanie,Summa

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

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty;

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

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

go

create view Kratkay_info_o_rabote_sotrudnikov as

select dbo.Sotrudnik.Kod_sotrudnika,FIO,Dannye_pasporta,Nazvanie,Naimenovanie,Naimenovanie_kachestva_raboty,Naimenovanie_objema_raboty,Naimenovanie_urovny_vypolneniy_raboty

from dbo.Sotrudnik,dbo.Rabota,dbo.Dolzhnost,dbo.Kachestvo_raboty,dbo.Vypolnennay_rabota,dbo.Objem_rabty,dbo.Uroven_vypolneniy_raboty,dbo.Ocenka_raboty,dbo.Ocenka

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

AND dbo.Vypolnennay_rabota.Nomer_raboty=dbo.Ocenka_raboty.Nomer_raboty

AND dbo.Ocenka_raboty.Kod_ocenki=dbo.Ocenka.Kod_ocenki

AND dbo.Ocenka.Kod_kachestva_raboty=dbo.Kachestvo_raboty.Kod_kachestva_raboty

AND dbo.Ocenka.Kod_objema_rabty=dbo.Objem_rabty.Kod_objema_rabty

AND dbo.Ocenka.Kod_urovny_vypolneniy_raboty=dbo.Uroven_vypolneniy_raboty.Kod_urovny_vypolneniy_raboty;

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

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

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

go

create procedure Naim_dolzhnosti(@KodDolzh tinyint =3) as

select Kod_dolzhnosti,Nazvanie

from dbo.Dolzhnost

where Kod_dolzhnosti=@KodDolzh;

go

execute Naim_dolzhnosti 2;

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

go

create procedure KodRab @KR varchar(max) as

select Kod_raboty,Naimenovanie

from dbo.Rabota

where Naimenovanie = @KR;

go

execute KodRab 'управление персоналом';

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

go

create procedure Sotr (@kod smallint = 5) as

select Kod_sotrudnika,FIO,Nazvanie

from dbo.Dolzhnost,dbo.Sotrudnik

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Dolzhnost.Kod_dolzhnosti = @kod;

go

execute Sotr 4;

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

go

create procedure Obshay_informaciy_o_sotrudnike_po_FIO @FIOrab varchar(max) as

select *

from Obshay_informaciy_o_sotrudnike

where FIO = @FIOrab;

go

execute Obshay_informaciy_o_sotrudnike_po_FIO'Федотов Сергей Васильевич';

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

go

create procedure Infrmaciy_sorudnikov_o_ih_rabote_po_FIO @PredstFIO varchar(max) as

select *

from Infrmaciy_sorudnikov_o_ih_rabote

where FIO = @PredstFIO;

go

execute Infrmaciy_sorudnikov_o_ih_rabote_po_FIO 'Ильиных Владимир Владимирович';

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

go

create procedure Kratkay_info_o_rabote_sotrudnikov_po_FIO @PoFIOPredst varchar(max) as

select *

from Kratkay_info_o_rabote_sotrudnikov

where FIO = @PoFIOPredst;

go

execute Kratkay_info_o_rabote_sotrudnikov_po_FIO 'Федотова Татьяна Васильевна';

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

go

create procedure Chast_info (@KodInf smallint = 4) as

select FIO,Dannye_pasporta,Nazvanie,Naimenovanie

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

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

AND dbo.Sotrudnik.Kod_sotrudnika = @KodInf

go

execute Chast_info 5;

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

go

create procedure DataDog (@Dat int) as

select Data_sostavleniy_dogovora,Nachalo_deistviy_dogovora,Konec_deistviy_dogovora,FIO

from dbo.Data,dbo.Sotrudnik,dbo.Vypolnennay_rabota

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

AND dbo.Vypolnennay_rabota.Kod_daty=dbo.Data.Kod_daty

AND dbo.Vypolnennay_rabota.Nomer_dokumenta = @Dat;

go

execute DataDog 7;

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

go

create procedure Str_podr (@KSP tinyint = 3) as

select FIO,Nazvanie,Naimenovanie,Strukturnoe_podrazdelenie

from dbo.Akt_o_prieme_vypolnennyh_rabot,dbo.Sotrudnik,dbo.Dolzhnost,dbo.Rabota,dbo.Vypolnennay_rabota

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

AND dbo.Sotrudnik.Kod_sotrudnika= @KSP;

go

execute Str_podr 13;

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

go

create procedure K_ocenka (@OK tinyint = 2) as

select Naimenovanie_kachestva_raboty,Naimenovanie_objema_raboty,Naimenovanie_urovny_vypolneniy_raboty

from dbo.Uroven_vypolneniy_raboty,dbo.Objem_rabty,dbo.Kachestvo_raboty,dbo.Ocenka

where dbo.Ocenka.Kod_kachestva_raboty=dbo.Kachestvo_raboty.Kod_kachestva_raboty

AND dbo.Ocenka.Kod_objema_rabty=dbo.Objem_rabty.Kod_objema_rabty

AND dbo.Ocenka.Kod_urovny_vypolneniy_raboty=dbo.Uroven_vypolneniy_raboty.Kod_urovny_vypolneniy_raboty

AND dbo.Ocenka.Kod_ocenki = @OK;

go

execute K_ocenka 4;

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

go

create procedure Krsot (@KRABO smallint = 3) as

select Kod_raboty,Naimenovanie

from dbo.Rabota

where dbo.Rabota.Kod_raboty = @KRABO;

go

execute Krsot 902;

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

go

create procedure VidUch @UchR varchar(max) as

select DISTINCT FIO,Dannye_pasporta,Nazvanie,Naimenovanie

from dbo.Rabota,dbo.Sotrudnik,dbo.Vypolnennay_rabota,dbo.Dolzhnost,dbo.Vid_uchastiy_v_rabote

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

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

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

AND dbo.Sotrudnik.Kod_vida_uchastiy_v_rabote=dbo.Vid_uchastiy_v_rabote.Kod_vida_uchastiy_v_rabote

AND dbo.Vid_uchastiy_v_rabote.Naimenovanie_vida_v_rabote = @UchR;

go

execute VidUch 'принял';

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

go

create procedure DolzhSotr @Struktur varchar(max), @dolzhnost varchar(max) as

select FIO,dbo.Sotrudnik.Kod_sotrudnika,Nazvanie,Naimenovanie,Strukturnoe_podrazdelenie

from dbo.Dolzhnost,dbo.Sotrudnik,dbo.Rabota,dbo.Vypolnennay_rabota,dbo.Akt_o_prieme_vypolnennyh_rabot

where dbo.Sotrudnik.Kod_dolzhnosti=dbo.Dolzhnost.Kod_dolzhnosti

AND Nazvanie= @dolzhnost

AND dbo.Sotrudnik.Kod_sotrudnika=dbo.Vypolnennay_rabota.Kod_sotrudnika

AND dbo.Vypolnennay_rabota.Kod_raboty=dbo.Rabota.Kod_raboty

AND dbo.Vypolnennay_rabota.Nomer_dokumenta=dbo.Akt_o_prieme_vypolnennyh_rabot.Nomer_dokumenta

AND dbo.Akt_o_prieme_vypolnennyh_rabot.Strukturnoe_podrazdelenie=@Struktur

COMPUTE COUNT(dbo.Sotrudnik.Kod_sotrudnika);

go

execute DolzhSotr @Struktur = 'тренажерный зал',@dolzhnost = 'тренер';

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


Подобные документы

  • Структура базы данных "Библиотечный фонд". Разработка таблиц "Авторы", "Выдача книг", "Книги фонда". Таблица "Разделы книг" как способ хранения информации о существующих разделах. Способы занесения информации о сотрудниках библиотеки. Формы базы данных.

    курсовая работа [940,8 K], добавлен 28.05.2012

  • Характеристика, классификация и структура баз данных. Модель базы данных в Delphi. Разработка базы данных для вуза с целью облегчения процесса поиска нужной информации о студенте. Требования к техническому, методическому и программному обеспечению.

    курсовая работа [1,0 M], добавлен 18.08.2009

  • Основные виды баз данных. Система управления базами данных. Анализ деятельности и информации, обрабатываемой в поликлинике. Состав таблиц в базе данных и их взаимосвязи. Методика наполнения базы данных информацией. Алгоритм создания базы данных.

    курсовая работа [3,1 M], добавлен 17.12.2014

  • Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.

    курсовая работа [1,7 M], добавлен 04.06.2015

  • Создание базы данных, выполнение поиска, изменение и удаление записей, обработка, проектирование и обмен данными. Определение формул для вычисляемой части базы данных. Заполнение таблицы с помощью Мастера форм. Формы представления и анализ информации.

    учебное пособие [5,0 M], добавлен 12.08.2009

  • Авторизация с каталогами проектирования базы данных магазина. Задачи базы данных: учет всех товаров, поиск и выдача данных о клиентах, адрес, телефоны, цена и наличие товара. Этапы проектирования базы данных. Схема данных, создание запросов и их формы.

    реферат [1,6 M], добавлен 22.10.2009

  • Автоматизированные базы данных в учебном процессе. Создание базы данных для МОУ СОШ № 12 с целью помощи в обеспечении централизованного управления, хранения информации об учениках. Требования к программе, условия эксплуатации. Программный код базы данных.

    дипломная работа [2,0 M], добавлен 25.03.2014

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

    презентация [4,3 M], добавлен 12.11.2010

  • Разработка базы данных "Поставка и реализация продуктов питания". Применение базы данных. Цель инфологического проектирования. Выборка информации при помощи запросов. Подпрограммы, работающие на сервере и управляющие процессами обработки информации.

    курсовая работа [326,0 K], добавлен 28.06.2011

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

    курсовая работа [1,6 M], добавлен 15.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.