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

На выбор из приложенной методички

Курсовая Купить готовую Узнать стоимостьмоей работы

Способность MSSQLServerработать в «облаке» позволяет существенно сократить затраты на ИТ — услуги, по-новому взглянуть на процесс разработки программного обеспечения, отказаться от высоких инвестиций в создание программной инфраструктуры и ее поддержания, решить проблемы быстрого создания программного ландшафта на различных программно — аппаратных платформах, а значит, и выхода на новые рынки… Читать ещё >

На выбор из приложенной методички (реферат, курсовая, диплом, контрольная)

Содержание

  • ВВЕДЕНИЕ
  • 1. ТЕХНОЛОГИИ БАЗ ДАННЫХ
    • 1. 1. Общие понятия
    • 1. 2. История возникновения баз данных
    • 1. 3. Таксономия баз данных
    • 1. 4. Общая архитектура баз данных
    • 1. 5. Функции и функциональные возможности СУБД
    • 1. 6. Обзор рынка современных СУБД
  • 2. ОБЗОР СОВРЕМЕННОЙ СУБД MICROSOFT SQL SERVER
    • 2. 1. Реляционная модель данных
    • 2. 2. История развития MS SQL Server
    • 2. 3. Редакции Microsoft SQL Server
    • 2. 4. Основные функциональные возможности и преимущества использования Microsoft SQL Server
    • 2. 5. Структура MS SQL Server
    • 2. 6. Логический уровень MS SQL Server
    • 2. 7. Физический уровень MS SQL Server
    • 2. 8. Уровни блокировок
    • 2. 9. Функция In-Memory
  • 3. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА MS SQL SERVER
    • 3. 1. Утилита SQL Server Configuration Manager
    • 3. 2. Утилита SQL Server Management
    • 3. 3. Утилита SQL Server Business Intelligence Development Studio
    • 3. 4. Службы SSIS
    • 3. 5. Службы Reporting Services
    • 3. 6. Программа bcp
    • 3. 7. Программа SQL Profiler
    • 3. 8. Программа sqlcmd
    • 3. 9. Утилита SQL Server Agent
    • 3. 10. Службы бизнес-аналитики и Data Mining
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Особый упор сделан на описании новых возможностей, появившихся в версиях SQLServer 2012 и SQLServer 2014. В третьей главе дано описание основныхинструментальных средств. MSSQLServerпредставляет из себя законченное высокотехнологичное решение, предназначенное для управления и анализа данных высоконагруженных критичных систем. Сервер позволяет быстро разворачивать масштабируемые приложения нового поколения как дляWEB, так и для облачных вычислений. MSSQLS erverможет использоваться в качестве ключевого компонента систем электронной коммерции, интерактивных деловых приложений, хранилищ и витрин данных. MSSQLServerподдерживает множество структур и типов данных, таких как JSON, XML, геокоординаты, аудио, видео, изображения. Появление технологии In-MemoryOLTPпозволяет использовать MSSQLServerв системах, критичных ко времени обработки запросов, например, в дилинговых приложениях.

Способность MSSQLServerработать в «облаке» позволяет существенно сократить затраты на ИТ — услуги, по-новому взглянуть на процесс разработки программного обеспечения, отказаться от высоких инвестиций в создание программной инфраструктуры и ее поддержания, решить проблемы быстрого создания программного ландшафта на различных программно — аппаратных платформах, а значит, и выхода на новые рынки, расширения клиентской базы, количества заказчиков. Наличие облачного развертывания на базе гибридной схемы с поддержкой ластичной масштабируемости и возможностью построения многоарендной архитектуры является важным конкурентным преимуществом MSSQLServer. Дальнейшее развитие систем управления базами данных будет идти по пути наращивания возможностей обработки новых типов данных: данных наблюдения и данных взаимодействия. Первый тип данных связан с обработкой информации в социальных сетях, а также архивов электронной почты, репозитариев аудиои видеоинформации. Второй тип данных связан с развитием разнообразных мобильных устройств. Сюда входят координаты местонахождения, сведения о свойствах предметов, дополнительные сведения о передачи информации по сети Интернет. Кроме того, в последнее время растет интерес к non-SQL подходу в области хранения данных.

Это связано с расширением спектра операционной деятельности компаний, появлением новых типов неструктурированных данных. Большие изменения произошли с появлением проекта Hadoop, в котором заложена поддержка неструктурированных данных и реализация вычислений in-memory.Так как наличие программных интерфейсов для взаимодействия с приложениями сторонних производителей является одним из ключевых требований к СУБД, то, в скором будущем можно ожидать появления новых возможностей в области обработки неструктурированной информации. СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫИсточники на русском языке

ХомоненкоА.Д., Цыганков В. М., Мальцев М. Г. Базы данных: Учебник для высших учебных заведений./ под ред. проф. Хоменко А. Д. — 6-е изд. -CПб.: КОРОНА-Век, 2009. — 736 сРжеуцкая С. Ю. Базы данных: Язык SQL: учебное пособие. — Вологда:

ВоГТУ, 2010. — 159 с. Кириллов В. В.

Введение

в реляционные базы данных. СПб.: БХВ-Петербург, 2009.

— 464 с.: ил. + CD-ROM Кузнецов С. Д. Основы баз данных. — 2-е изд.

— М.: Интернет-университет информационных технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с.

Ицик

Бен-Ган. M icrosoft SQL Server. ОсновыT-SQL:Пер. с англ. — СПб.:БХВ-Петербург, 2009.

— 432 с.: ил. Источники на иностранных языкахC.J.Date SQL and Relation Theory: How to Write Accurate SQL Code (2nd edition). O’R eilyMedia, Inc. S ebastopol, 2012. -

428 p. The ANSI/X3/SPARC Framework: Report of the Study Group on Data Base Management Systems / Information Systems. — 1978. — 3. SQL-Server Delivers Industry-Leading Security. ITIC.

2010. — 24 p. Ross Mistry, StaciaMisne. I ntroducing Microsoft SQL Server 2014. M icrosoft Press, 2014.

— 144 p. Kalen DelaneyMicrosoft SQL Server 2012 Internals. M icrosoft Press, 2013. -

982 p. Paul Atkinson, Robert VieiraBeginning Microsoft SQL Server 2012 Programming. W rox, 2012. — 864 p. Robert Vieira. P rofessional Microsoft Sql Server 2008 Programming, Wrox, 2009.

— 936 p. Электронные ресурсыJackShow. D igitalJungle, anddoingbusinessin the Information Age. Электронныйресурс]. URL:

http://wowspeakers.com/2014/02/jack-shaw/ (дата обращения 02.

03.2015 г.).Облачные базы данных. [Электронныйресурс]. Режим доступа:

https://ru.wikipedia.org/wiki/Облачные_базы_данных (дата обращения 10марта 2015 г.).Объектно — ориентированные базы данных. [Электронныйресурс]. URL:

http://www.mstu.edu.ru/study/materials/zelenkov/ch6_3.html (дата обращения 10.

03.2015 г.).Объектно — реляционные базы данных: прошедший этап или неоцененные возможности? [Электронныйресурс]. Режим доступа:

http://citforum.ru/database/articles/ordbms10/ (дата обращения 10.

03.2015 г.).Классификация БД и СУБД. [Электронныйресурс]. URL:

http://www.intuit.ru/studies/courses/3439/681/lecture/14 019?page=2 (дата обращения 12.

03.2015 г.).Колесов А. Рынок СУБД находится в движении. PCWeek№ 1(878) 27.

01.2015 г. [Электронныйресурс]. URL:

http://www.pcweek.ru/infrastructure/article/detail.php?ID=169 634 (дата обращения 13.

03.2015 г.)Елманова Н., Федоров А. Oracleи MicrosoftSQL: прошлое, настоящее будущее. [Электронныйресурс]. URL:

http://compress.ru/article.aspx?id=11256(дата обращения 13.

03.2015 г.)Жилин

С. История Microsoft SQL Server. [Электронныйресурс]. URL:

http://alldba.ru/index.php/subd/microsoft-sql-server/istoriya (дата обращения 13.

03.2015 г.)SQLServer, Новые возможности. [Электронныйресурс]. URL:

http://www.oszone.net/6828/SQL_Server_2008(дата обращения 13.

03.2015 г.)MicrosoftSQLServer. Отличияредакций. [Электронныйресурс]. URL:

http://www.inspe.kz/microsoft/sql_server.html (дата обращения 13.

03.2015 г.)Вышла финальная версия MicrosoftSQLServer 2014. [Электронныйресурс]. URL:

http://habrahabr.ru/post/217 897/ (дата обращения 13.

03.2015 г.)SQLServer 2014. [Электронныйресурс]. URL:

http://www.microsoft.com/ru-ru/server-cloud/products/sql-server/default.aspx #s1section1 (дата обращения 14.

03.2015 г.)Системные базы данных MSSQLServer. [Электронныйресурс]. URL:

http://tavalik.ru/sistemnye-bd-ms-sql-server-2012;2008/ (дата обращения 14.

03.2015 г.)In-Memory OLTP вSQL Server 2014

ЧастьI. [Электронныйресурс]. URL:

http://habrahabr.ru/post/225 167/ (дата обращения 14.

03.2015 г.)In-Memory OLTP вSQL Server 2014

ЧастьII. [Электронныйресурс]. URL:

http://habrahabr.ru/post/225 935/ (дата обращения 14.

03.2015 г.)The SNAPSHOT Isolation Level. [Электронныйресурс]. URL:

http://sqlperformance.com/2014/06/sql-performance/the-snapshot-isolation-level (дата обращения 14.

03.2015 г.)ПРИЛОЖЕНИЕ 1ФУНКЦИИ СИСТЕМ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХФункции СУБДЯзыковые средства

Программные средства

Создание БД и модификация метаданных

Язык определения данных

Процессор ЯОДВставка и обновление данных

Выборка данных

Язык манипулирования данными Оптимизатор запросов, процессор БДОбработка данных

Разработка программного кода, команды ЯМД или встроенный язык

Компилятор языка программирования, процессор БДОбеспечение целостности данных

Правила поддержки целостности, возможность поддержки целостности в хранимом коде Процессор БД, встроенные средства проверки целостности

Разграничение доступа и аудит

Команды управления доступом к данным

Подсистема безопасности

Коллективный доступ к данным (параллелизм)Команды поддержки транзакций и управления блокировками

Монитор транзакций, подсистема блокировок

Резервное копирование и восстановление

Утилиты резервного копирования, средства восстановления БДПРИЛОЖЕНИЕ 2РЕДАКЦИИMICROSOFTSQLSERVERпо аппаратному обеспечению: EnterpriseBusinessIntelligenceStandardWebExpressCPU/Core (компонент SQL Server Database Engine) OS Maxменьшее из 4 процессоров и 16 ядерменьшее из 4 процессоров и 16 ядерменьшее из 4 процессоров и 16 ядер1 процессор не более 4 ядерCPU/Core (службы Analysis Services, службы Reporting Services) OS MaxOS Maxменьшее из 4 процессоров и 16 ядерменьшее из 4 процессоров и 16 ядер1 процессор не более 4 ядерMaximum memory utilized (SQL Server Database Engine) OS Max64 GB64 GB64 GB1 GBMaximum memory utilized (Analysis Services) OS MaxOS Max64 GB—Maximum memory utilized (Reporting Services) OS MaxOS Max64 GB64 GB-Maximum DB size524 PB524 PB524 PB524 PB10 Gb По лицензированию: EnterpriseBusinessIntelligenceStandardWebExpressМодель лицензированияпо ядрамServer + CALпо ядрам, Server + CALпо ядрам-Канал продажVolume, HostingVolume, FPP, HostingVolume, FPP, HostingHosting-Модель лицензирования: Server + CAL — серверная лицензия нужна для каждой инсталляции сервера, а клиентская (CAL) для каждого пользователя/устройства, пользующегося сервером. По ядрам — применяется, если много пользователей или их учет затруднен. Считаются количество используемых процессорных ядер, и исходя из этого покупается необходимое кол-во лицензий, но не менее четырёх на каждый физический сервер. Приложение 3Пример использования инструментальных средств MSSQLServer 2014

Постановка задачи

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

Контроль целостности данных, используя механизм связей. Операции модификации групп данных и данных в связанных таблицах должны быть выполнены в рамках транзакций. Логика работы приложения должна контролироваться триггерами. В частности, все операции вычисления различных показателей (из требований к клиентскому приложению) должны реализовываться хранимыми процедурами. Определение отношений, доменов, атрибутов и связей между ними. Создадим три таблицы: отделы, служащие и проекты, имеющих следующие атрибуты типы полей (рисунок 11):Имя таблицы

Имя колонки

РасшифровкаemployeesТаблица служащихiidИдентификатор служащегоnameИмяsurnameФамилияpostДолжностьpayЗарплата в месяцdepartmentsТаблица отделовiidИдентификатор товараnameНаименование отделаprojectsТаблица проектовiidИдентификатор записиnameНаименование проектаcostСтоимость проектаdepartment_idОтдел, работающий над проектомdate_begДата начала работы с проектомdate_endДата предполагаемого окончания работы с проектомdate_end_realРеальная дата окончания проектаdep_empl_relПривязка служащих к отделамiidИдентификатор записиdepartment_idОтделemployee_idСлужащий этого отдела

Рисунок 11 — Диаграмма базы данных

Для создания базы данных можно использовать графическую оболочку SQLManagementStudio, либо возможности SQLQuery./****** Object: Database [Study] Script Date: 30.

03.2015 11:44:39 ******/CREATEDATABASE [Study] CONTAINMENT =NONEONPRIMARY (NAME=N'Study', FILENAME=N'C:-Study.mdf', SIZE = 5120KB, MAXSIZE =UNLIMITED, FILEGROWTH = 1024KB) LOGON (NAME=N'Study_log', FILENAME=N'C:-Study_log.ldf', SIZE = 2048KB, MAXSIZE = 2048GB, FILEGROWTH = 10%)GOТеперь в данной базе данных создадим нужные нам таблицы: USE [Study]CREATETABLE [dbo]. D epartments]([iid] [int] IDENTITY (1,1)NOTNULL,[name] [varchar](100)NULL, CONSTRAINT [PK_Departments] PRIMARYKEYCLUSTERED ([iid] ASC) WITH (PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON)ON [PRIMARY])ON [PRIMARY]CREATETABLE [dbo]. E

mployees]([iid] [int] IDENTITY (1,1)NOTNULL,[name] [varchar](50)NOTNULL,[surname] [varchar](50)NULL,[post] [varchar](50)NOTNULL,[pay] [decimal](18, 0) NOTNULL, CONSTRAINT [PK_Employees] PRIMARYKEYCLUSTERED ([iid] ASC) WITH (PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON)ON [PRIMARY])ON [PRIMARY]CREATETABLE [dbo]. P rojects]([iid] [int] IDENTITY (1,1)NOTNULL,[name] [varchar](200)NULL,[cost] [decimal](18, 0) NOTNULL,[department_id] [int] NULL,[date_beg] [datetime] NULL,[date_end] [datetime] NULL,[date_end_real] [datetime] NULL, CONSTRAINT [PK_Projects] PRIMARYKEYCLUSTERED ([iid] ASC) WITH (PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON)ON [PRIMARY])ON [PRIMARY]GOALTERTABLE [dbo]. P rojects] WITHCHECKADDCONSTRAINT [FK_Projects_Departments] FOREIGNKEY ([department_id])REFERENCES [dbo].

D epartments]([iid])GOALTERTABLE [dbo]. P rojects] CHECKCONSTRAINT [FK_Projects_Departments]GOCREATETABLE [dbo]. dep_empl_rel]([iid] [int] IDENTITY (1,1)NOTNULL,[department_id] [int] NOTNULL,[employee_id] [int] NOTNULL, CONSTRAINT [PK_dep_empl_rel] PRIMARYKEYCLUSTERED ([iid] ASC) WITH (PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON)ON [PRIMARY])ON [PRIMARY]GOALTERTABLE [dbo]. dep_empl_rel] WITHCHECKADDCONSTRAINT [FK_dep_empl_rel_Employees] FOREIGNKEY ([employee_id])REFERENCES [dbo].

E mployees]([iid])GOALTERTABLE [dbo]. dep_empl_rel] CHECKCONSTRAINT [FK_dep_empl_rel_Employees]GOДля ускорения ввода будем использовать графическую оболочку. Врезультате содержимое таблиц будет иметь следующий вид: DepartmentEmployessEmployeesDep_emp_realПроизведем сохранение БД. Для этого нажмем правой кнопкой мыши по имени базы данных и выберем из меню «Задачи» «Создать резервную копию».

Так как сохранение производится первый раз, то выберем Тип резервной копии — Полная. Выборка данных

Вывести всех служащих, у которых фамилия оканчивается на «нов». SELECT * FROMdbo. Employees WHERE dbo. Employees. surnameLIKE '%нов'Вывести все проекты со стоимостью больше 65000SELECT * FROM dbo. Employees WHERE cost > 65 000

Вывести количество проектов, завершенных к сегодняшнему числуSELECT count (*) from dbo. Projects where datediff (day, getdate (), date_end_real) <= 0Вывести отделы со списком всех служащих в нихSELECTdbo.Departments.name AS 'Отдел', dbo.Employees.name+' '+ dbo.Employees.surname AS 'ФИОслужащего' FROM dbo. Departments LEFT OUTER JOIN dbo. dep_empl_rel ON dbo. dep_empl_rel.department_id = dbo.Departments.iidINNER JOIN dbo. Employees ON dbo. dep_empl_rel.employee_id = dbo.Employees.iid ORDER BY dbo.Departments.nameВычислить предполагаемую прибыль от каждого из незавершенных и уже начатых проектов (Прибыль вычисляется как стоимость проекта минус затраты. Затраты = зарплат * время в месяцах).SELECTdbo.Projects.name,(dbo.Projects.cost — SUM (dbo.Employees.pay*datediff (month, date_beg, date_end))) AS 'Прибыль' FROM dbo. Projects JOIN dbo. Departments ON dbo.Projects.department_id = dbo.Departments.iid JOIN dbo. dep_empl_rel ON dbo. dep_empl_rel.department_id = dbo.Departments.iidJOIN dbo. Employees ON dbo. dep_empl_rel.employee_id = dbo.Employees.iidWHERE dbo.Projects.date_beg IS NOT NULL GROUP BY dbo.Projects.name, dbo.Projects.department_id, dbo.Projects.costВставка данных

Добавить в уже существующий отдел служащегоINSERTINTOdbo. dep_empl_relSELECT 1, dbo.Employees.iidFROMdbo.EmployeesWHEREdbo.Employees.name = 'Новое имя' ANDdbo.Employees.surname = 'Новая фамилия' ANDdbo.Employees.post = 'Новая должность' ANDdbo.Employees.pay = 50 000

Добавить в рамках транзакции новый проект и указать отдел, который работает над данным проектом и сроки. Если длительность проекта больше 2-х месяцев, транзакцию откатить. BEGIN TRANDECLARE @newProjectId AS INT;DECLARE @ProjectPeriod AS INT;INSERT INTO dbo. ProjectsVALUES ('Новыйпроект', 200 000,2,cast ('2014;09−02 00:00:

00.000' AS datetime), cast ('2014;12−12 00:00:

00.000' AS datetime), NULL);SET @newProjectId = SCOPE_IDENTITY ();IF (SELECT datediff (month, date_beg, date_end) FROM dbo. Projects WHERE dbo.Projects.iid = @newProjectId) > 2ROLLBACK TRANELSECOMMIT TRANУдалениеданных

Удалить проекты, над которыми еще не начали работатьDELETE FROM dbo. Projects WHERE dbo.Projects.date_beg IS NULL Удалить отделы, не занятые в данный момент в проекте, если количество служащих там больше 3WITH Count_Employees (iDEmployee)AS (SELECT dbo.Departments.iid FROM dbo. Departments JOIN dbo. dep_empl_rel ON dbo. dep_empl_rel.department_id = dbo.Departments.iid JOIN dbo. Employees ON dbo. dep_empl_rel.employee_id = dbo.Employees.iidWHERE NOT EXISTS (SELECT 1 FROM dbo. Projects WHERE dbo.Projects.department_id = dbo.Departments.iid) GROUP BY dbo.Departments.iid HAVING COUNT (dbo.Employees.iid) > 3) DELETE FROM dbo. Departments WHERE dbo.Departments.iid IN (SELECT * from Count_Employees)Модификация данных

Увеличить на 5 единиц зарплату служащих из юридического отделаUPDATE dbo. Employees SET dbo.Employees.pay = dbo.Employees.pay + 5 WHERE dbo.Employees.iid IN (SELECT dbo.Employees.iid FROM dbo. Employees JOIN dbo. dep_empl_rel ON dbo. dep_empl_rel.employee_id=dbo.Employees.iid JOIN dbo. DepartmentsON dbo. dep_empl_rel.department_id = dbo.Departments.iid WHERE dbo.Departments.name = 'Юридический')В рамках транзакции поменять заданное наименование проекта на другоеBEGIN TRAN UPDATE dbo. Projects SET dbo.Projects.name = 'QQQ1' WHERE dbo.Projects.name = 'QQQ'COMMIT TRANРабота с представлениями

Создать представление, отображающее всех служащих, которые задействованы больше чем в двух проектахCREATE VIEW dbo. EmployeesMore2AS SELECT DISTINCT * from dbo. Employees e WHERE (SELECT COUNT (*) FROM dbo. Projects JOINdbo. dep_empl_relON dbo. dep_empl_rel.department_id = dbo.Projects.department_id WHERE dbo. dep_empl_rel.employee_id = e. iid) >= 2;Создать представление, отображающее все проекты и затраты на их реализацию за месяцCREATE VIEW dbo. EmployeesPayAS SELECT dbo.Projects.name, SUM (dbo.Employees.pay) AS 'Затраты' FROM dbo. Projects LEFT OUTER JOIN dbo. dep_empl_rel ON dbo. dep_empl_rel.department_id = dbo.Projects.department_idLEFT OUTER JOIN dbo. Employees ON dbo. dep_empl_rel.employee_id = dbo.Employees.iidGROUP BY dbo.Projects.name, dbo.Projects.department_idРабота с хранимыми процедурами

Создать хранимую процедуру, выводящую проекты, которые находятся в разработкеCREATE PROCEDURE dbo. ProjectsConitiousASSELECT * from dbo. Projects WHERE dbo.Projects.date_end_realIS NULLВызов: execdbo. ProjectsConitiousСоздать хранимую процедуру, имеющую два параметра служащий1 и служащий2. Она должна возвращать проекты, в которых эти два служащих работали одновременно. CREATE PROCEDURE dbo. ProjectName@EmployeesId1 INT,@EmployeesId2 INTASselect dbo.Projects.* from dbo. Projects join dbo. dep_empl_rel ON dbo. dep_empl_rel.department_id=dbo.Projects.department_idJOINdbo.EmployeesON dbo. dep_empl_rel.employee_id=dbo.Employees.iidAND dbo.Employees.iid = @EmployeesId1 AND dbo.Projects.iid IN (select dbo.Projects.iid from dbo. Projects join dbo. dep_empl_rel ON dbo. dep_empl_rel.department_id=dbo.Projects.department_id JOIN dbo. EmployeesON dbo. dep_empl_rel.employee_id=dbo.Employees.iidWHERE dbo.Employees.iid = @EmployeesId2)Вызов: execdbo. ProjectName @EmployeesId1=4, @EmployeesId2=3Создать хранимую процедуру с входным параметром отдел и двумя выходными параметрами, возвращающими самое большое время, которое потребовалось для реализации проекта и сам проект, поставивший рекордCREATE PROCEDURE dbo. DepartmentMax@DepartmentId INT,@ProjectNameVARCHAR (200) OUT,@ProjectCountDate INT OUTASSET @ProjectName=(SELECT name from dbo. Projects WHERE dbo.Projects.department_id = @DepartmentId AND datediff (day, dbo.Projects.date_beg, dbo.Projects.date_end_real) IN (select MAX (datediff (day, p. date_beg, p. date_end_real)) from dbo. Projects p WHERE p. department_id = @DepartmentId))SET @ProjectCountDate = (SELECT datediff (day, dbo.Projects.date_beg, dbo.Projects.date_end_real) from dbo. Projects WHERE dbo.Projects.department_id = @DepartmentId AND datediff (day, dbo.Projects.date_beg, dbo.Projects.date_end_real) IN (select MAX (datediff (day, p. date_beg, p. date_end_real)) from dbo. Projects p WHERE p. department_id = @DepartmentId))Вызов:DECLARE@return_valueint,@ProjectNamevarchar (200),@ProjectCountDateintEXECdbo.DepartmentMax@DepartmentId = 1,—номер отдела@ProjectName = @ProjectNameOUTPUT,@ProjectCountDate = @ProjectCountDate OUTPUTSELECT@ProjectName as N'@ProjectName',@ProjectCountDate as N'@ProjectCountDate'GOТригеры

Создать триггер, который не позволяет добавить в отдел служащего, если он там уже естьIF OBJECT_ID ('dbo.dep_empl_rel_ins', 'TR') IS NOT NULLDROP TRIGGER dbo. dep_empl_rel_ins;goCREATE TRIGGER dbo. dep_empl_rel_insON dbo. dep_empl_rel FOR INSERTASIF @@ROWCOUNT=1BEGIN IF (SELECT COUNT (*) FROM dbo. dep_empl_reldep, inserted WHERE dep. department_id = inserted. department_id AND dep. employee_id = inserted. employee_id GROUP BY dep. department_id) > 1BEGINROLLBACK TRANPRINT 'Отмена вставки: служащий уже есть в отделе' ENDENDСоздать триггер, который не позволяет добавлять служащего с зарплатой больше заданнойCREATE TRIGGER dbo. Employees_insON dbo. Employees FOR INSERTASIF @@ROWCOUNT=1BEGIN IF EXISTS (SELECT payFROM inserted i WHERE i. pay > 200 000) BEGINROLLBACK TRANPRINT 'Отмена вставки: зарплата превышает допустимую' ENDENDEND

Показать весь текст

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

  1. Источники на русском языке
  2. А.Д., Цыганков В. М., Мальцев М. Г. Базы данных: Учебник для высших учебных заведений. / под ред. проф. Хоменко А. Д. — 6-е изд. -CПб.: КОРОНА-Век, 2009. — 736 с
  3. С.Ю. Базы данных: Язык SQL: учебное пособие. — Вологда: ВоГТУ, 2010. — 159 с.
  4. В.В. Введение в реляционные базы данных. СПб.: БХВ-Петербург, 2009. — 464 с.: ил. + CD-ROM
  5. С. Д. Основы баз данных. — 2-е изд. — М.: Интернет-университет информационных технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с.
  6. Ицик Бен-Ган. Microsoft SQL Server. Основы T-SQL:Пер. с англ. — СПб.: БХВ-Петербург, 2009. — 432 с.: ил.
  7. Источники на иностранных языках
  8. C.J.Date SQL and Relation Theory: How to Write Accurate SQL Code (2nd edition). O’Reily Media, Inc. Sebastopol, 2012. — 428 p.
  9. The ANSI/X3/SPARC Framework: Report of the Study Group on Data Base Management Systems / Information Systems. — 1978. — 3.
  10. SQL-Server Delivers Industry-Leading Security. ITIC. 2010. — 24 p.
  11. Ross Mistry, Stacia Misne. Introducing Microsoft SQL Server 2014. Microsoft Press, 2014. — 144 p.
  12. Kalen Delaney Microsoft SQL Server 2012 Internals. Microsoft Press, 2013. — 982 p.
  13. Paul Atkinson, Robert Vieira Beginning Microsoft SQL Server 2012 Programming. Wrox, 2012. — 864 p.
  14. Robert Vieira. Professional Microsoft Sql Server 2008 Programming, Wrox, 2009. — 936 p.
  15. Jack Show. Digital Jungle, and doing business in the Information Age. [Электронный ресурс]. URL: http://wowspeakers.com/2014/02/jack-shaw/ (дата обращения 02.03.2015 г.).
  16. Облачные базы данных. [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Облачные_базы_данных (дата обращения 10 марта 2015 г.).
  17. Объектно — ориентированные базы данных. [Электронный ресурс]. URL: http://www.mstu.edu.ru/study/materials/zelenkov/ch6_3.html (дата обращения 10.03.2015 г.).
  18. Объектно — реляционные базы данных: прошедший этап или неоцененные возможности? [Электронный ресурс]. Режим доступа: http://citforum.ru/database/articles/ordbms10/ (дата обращения 10.03.2015 г.).
  19. Классификация БД и СУБД. [Электронный ресурс]. URL: http://www.intuit.ru/studies/courses/3439/681/lecture/14 019?page=2 (дата обращения 12.03.2015 г.).
  20. А. Рынок СУБД находится в движении. PC Week № 1(878) 27.01.2015 г. [Электронный ресурс]. URL: http://www.pcweek.ru/infrastructure/article/detail.php?ID=169 634 (дата обращения 13.03.2015 г.)
  21. Н., Федоров А. Oracle и Microsoft SQL: прошлое, настоящее будущее. [Электронный ресурс]. URL:
  22. http://compress.ru/article.aspx?id=11 256 (дата обращения 13.03.2015 г.)
  23. С. История Microsoft SQL Server. [Электронный ресурс]. URL: http://alldba.ru/index.php/subd/microsoft-sql-server/istoriya (дата обращения 13.03.2015 г.)
  24. SQL Server, Новые возможности. [Электронный ресурс]. URL: http://www.oszone.net/6828/SQL_Server_2008 (дата обращения 13.03.2015 г.)
  25. Microsoft SQL Server. Отличия редакций. [Электронный ресурс]. URL: http://www.inspe.kz/microsoft/sql_server.html (дата обращения 13.03.2015 г.)
  26. Вышла финальная версия Microsoft SQL Server 2014. [Электронный ресурс]. URL: http://habrahabr.ru/post/217 897/ (дата обращения 13.03.2015 г.)
  27. SQL Server 2014. [Электронный ресурс]. URL: http://www.microsoft.com/ru-ru/server-cloud/products/sql-server/default.aspx #s1section1 (дата обращения 14.03.2015 г.)
  28. Системные базы данных MS SQL Server. [Электронный ресурс]. URL: http://tavalik.ru/sistemnye-bd-ms-sql-server-2012−2008/ (дата обращения 14.03.2015 г.)
  29. In-Memory OLTP в SQL Server 2014. Часть I. [Электронный ресурс]. URL: http://habrahabr.ru/post/225 167/ (дата обращения 14.03.2015 г.)
  30. In-Memory OLTP в SQL Server 2014. Часть II. [Электронный ресурс]. URL: http://habrahabr.ru/post/225 935/ (дата обращения 14.03.2015 г.)
  31. The SNAPSHOT Isolation Level. [Электронный ресурс]. URL: http://sqlperformance.com/2014/06/sql-performance/the-snapshot-isolation-level (дата обращения 14.03.2015 г.)
Заполнить форму текущей работой
Купить готовую работу

ИЛИ