Помощь в написании студенческих работ
Антистрессовый сервис

Хранимые процедуры. 
Создание базы данных "Ярмарка вакансий"

РефератПомощь в написанииУзнать стоимостьмоей работы

Data source — имя сервера к которому подключаемся, Initial Catalog — название базы данных, к которой будет осуществляться подключение и последующее изменение или чтение ее данных, Security — способ аутентификации. Хранимая процедура DeleteResume удаляет резюме из таблицы ResumeRecords, когда подавший резюме устраивается на рабочее место. Хранимая процедура ArrangeWorker добавляет работника… Читать ещё >

Хранимые процедуры. Создание базы данных "Ярмарка вакансий" (реферат, курсовая, диплом, контрольная)

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

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

Список хранимых процедур.

Рисунок 5 — Список хранимых процедур.

хранимые процедуры AddResume, AddVacancy добавляют новые записи в таблицах ResumeRecords и VacancyRecords соответственно:

—Процедура добавляет новую вакансию.

GO.

CREATE PROCEDURE AddVacancy.

@Id int,.

@Company nvarchar (50),.

@Speciality nvarchar (50),.

@Payment nvarchar (50),.

@Сonditions nvarchar (50),.

@NecessaryExp int.

AS.

BEGIN.

DECLARE @Vacant nvarchar (50).

SET @Vacant = 'yes'.

Insert into VacancyRecords (ID, Company, Speciality, Payment, Conditions, NecessaryExp, Vacant).

Values (@Id, @Company, @Speciality, @Payment, @Сonditions, @NecessaryExp, @Vacant).

END.

GO.

—Процедура добавляет резюме.

GO.

CREATE PROCEDURE AddResume.

@SecondName nvarchar (50),.

@Name nvarchar (50),.

@MiddleName nvarchar (50),.

@Age nvarchar (50),.

@Experience int,.

@Education nvarchar (50).

AS.

BEGIN.

DECLARE @Number int.

IF (SELECT COUNT (*) from ResumeRecords) = 0.

BEGIN.

SET @Number = 1.

END.

ELSE.

BEGIN.

SET @Number = (select MAX (Record_Number) from ResumeRecords)+1.

END.

Insert into ResumeRecords (Record_Number, SecondName, Name, MiddleName, Age, Experience, Education).

Values (@Number, @SecondName, @Name, @MiddleName, @Age, @Experience, @Education).

END.

GO.

хранимая процедура ArrangeWorker добавляет работника на рабочее место, изменяя статус вакантноcти в таблице VacancyRecords:

—Процедура добавляет работника на рабочее место, изменяя статус вакантности в таблице —VacancyRecords.

GO.

CREATE PROCEDURE ArrangeWorker.

@Selected_Resume int,.

@ID int,.

@DateOfRec nvarchar (50).

AS.

BEGIN.

DECLARE @Payment nvarchar (50).

SET @Payment = (SELECT Payment FROM VacancyRecords WHERE ID = @ID).

DECLARE @SecondName nvarchar (50).

SET @SecondName = (SELECT SecondName FROM ResumeRecords WHERE Record_Number = @Selected_Resume).

DECLARE @Name nvarchar (50).

SET @Name = (SELECT Name FROM ResumeRecords WHERE Record_Number = @Selected_Resume).

DECLARE @MiddleName nvarchar (50).

SET @MiddleName = (SELECT MiddleName FROM ResumeRecords WHERE Record_Number = @Selected_Resume).

DECLARE @Age int.

SET @Age = (SELECT Age FROM ResumeRecords WHERE Record_Number = @Selected_Resume).

DECLARE @Experience nvarchar (50).

SET @Experience = (SELECT Experience FROM ResumeRecords WHERE Record_Number = @Selected_Resume).

DECLARE @Education nvarchar (50).

SET @Education = (SELECT Education FROM ResumeRecords WHERE Record_Number = @Selected_Resume).

Insert into Workers (ID, SecondName, Name, MiddleName, Age, Experience, DateOfReception, Education, Payment).

Values (@ID, @SecondName, @Name, @MiddleName, @Age, @Experience, @DateOfRec, @Education, @Payment).

exec DeleteResume @Selected_Resume.

UPDATE VacancyRecords.

SET Vacant = 'no'.

WHERE ID = @ID.

END.

GO.

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

—Процедура удаляет резюме.

GO.

CREATE PROCEDURE DeleteResume.

@Record_Number int.

AS.

BEGIN.

IF EXISTS (SELECT Record_Number FROM ResumeRecords WHERE Record_Number = @Record_Number).

BEGIN.

DECLARE @MAX_NUMB int.

SET @MAX_NUMB = (SELECT MAX (Record_Number) FROM ResumeRecords).

DECLARE @i int.

SET @i = @Record_Number +1.

DELETE FROM ResumeRecords WHERE Record_Number= @Record_Number.

WHILE @i <= @MAX_NUMB.

BEGIN.

UPDATE ResumeRecords.

SET Record_Number = @i — 1.

WHERE Record_Number = @i.

SET @i = @i + 1.

END.

END.

END.

GO.

хранимая процедура KickOutWorker удаляет работника с рабочего места, меняя статус вакантности.

GO.

CREATE PROCEDURE KickOutWorker.

@ID int.

AS.

BEGIN.

IF EXISTS (SELECT ID FROM Workers WHERE ID = @ID).

BEGIN.

DELETE FROM Workers WHERE ID = @ID.

UPDATE VacancyRecords.

SET Vacant = 'yes'.

WHERE ID = @ID.

END.

END.

GO.

хранимая процедура ShowWorkerOnId отображает всю информацию о работнике по ID.

GO.

CREATE PROCEDURE ShowWorkerOnId.

@ID int.

AS.

BEGIN.

IF EXISTS (SELECT ID FROM Workers WHERE ID = @ID).

BEGIN.

SELECT * FROM Workers WHERE ID = @ID.

END.

END.

GO.

Получение доступа к данным базы данных

Доступ к данным осуществляется путем удаленного соединения с SQL server’ом при помощи .NET вспомогательных классов.

Класс SqlConnection осуществляет соединение при помощи установки ConnectionString.

string connString = «Data Source=LENOVO-PC;Initial Catalog=Vacancy_Fair;Integrated Security=True» ;

sqlConn = new SqlConnection (connString);

sqlConn.Open ();

Data source — имя сервера к которому подключаемся, Initial Catalog — название базы данных, к которой будет осуществляться подключение и последующее изменение или чтение ее данных, Security — способ аутентификации.

Показать весь текст
Заполнить форму текущей работой