Отдел кадров предприятия

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

REATE PROCEDURE pr_Выбор

@Условие1 INT,

@Условие2 INT( @Условие1 IS NULL AND @Условие2 IS NOT NULL ) *

FROM Должность

WHERE КодДолжности = @Условие2

ELSE IF ( @Условие2 IS NULL AND @Условие1 IS NOT NULL)*ДолжностьОклад = @Условие1IF ( @Условие1 IS NULL AND @Условие2 IS NULL )*ДолжностьIF ( @Условие1 IS NOT NULL AND @Условие2 IS NOT NULL ) *

FROM Должность

WHERE Оклад = @Условие1 AND КодДолжности= @Условие2

GO@УСЛ1 INT, @УСЛ2 INT@УСЛ2 = 1pr_Выбор @УСЛ1, NULL @УСЛ1 [1 условие], @УСЛ2 [2 условие]

GO

 

Результаты работы процедуры представлены на рисунке 6.4

 

Рисунок 6.4. Результаты работы процедуры.

 

 

ЗАКЛЮЧЕНИЕ

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

В ходе выполнения работы были закреплены знания о использовании команд языка Transact/SQL и ERwin. Нами были cозданы, заполнены данными, проделаны выборки из таблиц и представлений, обновление и удаление данных, изменение структуры таблицы, удаление таблиц и базы данных. Нами были решены перечень задач: по написанию кода, использующего применение языка Transact/SQL и временных таблиц, по созданию хранимых процедур, по написанию проверочного кода для тестирования правильности работы созданных хранимых процедур и функций. После этого стало более понятно, как команды манипулирования данными позволяют работать с хранящейся в базе данных информацией. Ознакомились с использованием триггеров в Transact-SQL ,освоили способы создания курсоров в Transact-SQL.

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

 

 

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

 

[1] Бутов, А.А. Базы данных: лабораторный практикум для студентов специальности "Информационные системы и технологии"/ А.А Бутов, И. Г. Орешко, Е. А. Шестаков. - М: БГУИР, 2009. - 108 с.

[2] Бурков, А.В. Проектирование информационных систем по технологии клиент-сервер в "Microsoft SQL Server 2008" и "Microsoft Visual Studio 2008"/ А.В. Бурков. - М: БГУИР, 2009. - 123 с.

 

 

ПРИЛОЖЕНИЕ

 

Создание таблиц и ввод значений в них

 

CREATE DATABASE КадрыPRIMARY

( NAME = Кадры_Data,= D:\Кадры_Data.mdf,= 3MB,= 50MB,= 2MB ),Secondary

( NAME = Кадры2_Data,= D:\Кадры_Data2.ndf,= 2MB,= 70MB,= 20% ),

( NAME = Калры3_Data,= D:\Кадры_Data3.ndf,= 2MB,= 5MB )ON

( NAME = Склад_Log,= D:\Кадры_Log.ldf,= 1MB,= 10MB,= 15% ),

( NAME = Склад2_Log,= D:\Кадры_Log2.ldf,= 512KB,= 5MB,= 10% )КадрыTABLE Подразделения (

КодПодразделения INT PRIMARY KEY,

Подразделение VARCHAR(20) DEFAULT Производство NOT NULL,

Численность INT NOT NULL CHECK (Численность > 0),

Руководитель VARCHAR(50) NOT NULL

)TABLE Должность (

КодДолжности INT PRIMARY KEY,

Должность VARCHAR(40) NOT NULL,

Оклад INT NULL CHECK (Оклад > 0),

Разряд INT DEFAULT 1 NULL CHECK (Разряд > 0),

Премия INT NULL

)TABLE Сотрудник (

КодСотрудника INT PRIMARY KEY,

ФИО VARCHAR(60) NULL,

Образование VARCHAR(60) NULL,

КодПодразделения INT NOT NULL,

КодДолжности INT NOT NULL,

Телефон INT NULL,

Пол VARCHAR(5) NULL(Пол IN (муж, жен)),

Возраст INT NULL CHECK (Возраст > 0),FK_Сотрудник_Подразделения FOREIGN KEY (КодПодразделения)Подразделения ON UPDATE CASCADE, FK_Сотрудник_Должность FOREIGN KEY (КодДолжности)

REFERENCES Должность ON UPDATE CASCADE

)TABLE ШтатноеРасписание (

Номер INT IDENTITY(1,1) NOT NULL,

КодСотрудника INT NOT NULL,

КоличествоЧасов INT NOT NULL CHECK (КоличествоЧасов > 0),

Пропуски INT NULL,

Причина VARCHAR(30) NULL ,

CONSTRAINT FK_ШтатноеРасписание_Сотрудник FOREIGN KEY (КодСотрудника)

REFERENCES Сотрудник ON UPDATE CASCADE

)TABLE Контракт (

КодКонтракта INT PRIMARY KEY NOT NULL,

КодСотрудника INT NOT NULL,

ДатаОт DATETIME DEFAULT getdate() NOT NULL,

ДатаДо DATETIME NULL,

Заметки VARCHAR(30) NULL, FK_Контракт_Сотрудник FOREIGN KEY (КодСотрудника)

REFERENCES Сотрудник ON UPDATE CASCADE

)TABLE Военнообязанные (

Номер INT IDENTITY(1,1) NOT NULL,

КодСотрудника INT NOT NULL,

Отсрочка INT NOT NULL,

СемейноеПоложение VARCHAR(10) NOT NULL,

ДолгЛет INT NULL CHECK (ДолгЛет > 0), FK_Военнообязанные_Сотрудник FOREIGN KEY (КодСотрудника)

REFERENCES Сотрудник ON UPDATE CASCADE

)

INSERT INTO Подразделения

VALUES (1, Руководство, 15, Иванова А.А.)

INSERT INTO Подразделения

VALUES (2, Цех, 44, Петрова А.Ю.)

INSERT INTO Подразделения

VALUES (3, Контора, 36, Чернявская М.М.)

INSERT INTO Подразделения

VALUES (4, Отдел кадров, 6, Шлык В.С.)

INSERT INTO Подразделения

VALUES (5, Бухгалтерия, 3, Комякевич А.Л.)

GOINTO Должность(01, Начальник, 3000000, 20, 500000)INTO Должность(02, Рабочий, 1000000, 12, 50000)INTO Должность(03, Бригадир, 1500000, 14, 70000)INTO Должность(04, Специалист, 2000000, 16, 90000)INTO Должность(05, Стажер, 900000, 1, 10000)INTO Сотрудник(1, Шлык В.С., высшее, 4, 01, 5802489, жен, 20)INTO Сотрудник(2, Ксенжук Д.Ю., высшее, 1, 03, 23466, жен, 21) INTO Сотрудник

VALUES (3, Николаев А.Н., среднее-специальное, 2, 02, 23698, муж, 22)

INSERT INTO Сотрудник

VALUES (4, Алиев И.О., среднее-специальное, 3, 04, 5863424, муж, 22)

GO

INSERT INTO ШтатноеРасписание

VALUES (1, 236, 12, по причине болезни)

INSERT INTO ШтатноеРасписание

VALUES (2, 230, 1, по причине болезни)

INSERT INTO ШтатноеРасписание

VALUES (3, 240, 2, по причине болезни)

INSERT INTO ШтатноеРасписание

VALUES (4, 245, 10, по причине болезни)

GO

SET DATEFORMAT dmy

INSERT INTO Контракт (КодКонтракта, КодСотрудника, ДатаОт, ДатаДо)

VALUES (1, 1, 04.04.09, 14.04.19) INTO Контракт (КодКонтракта, КодСотрудника, ДатаОт, ДатаДо)

VALUES (2, 2, 04.04.08, 14.04.29) INTO Контракт (КодКонтракта, КодСотрудника, ДатаОт, ДатаДо)

VALUES (3, 3, 04.04.00, 14.04.15) INTO Контракт (КодКонтракта, КодСотрудника, ДатаОт, ДатаДо)

VALUES (4, 4, 04.04.09, 14.04.29)INTO Военнообязанные(3, 1, не женат, 1)