Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Корпоротивные ИС.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
442 Кб
Скачать
☆

12. Типы данных в ms sql Server. Описание переменных. Операторы, функции

Типы данных:

  • Точные числа – int, decimal, money.

  • Приблизительные числа – float, real, используемые для числовых данных с плавающей запятой.

  • Символьные строки – varchar, char.

  • Символьные строки в Юникоде nvarchar, nchar.

  • Двоичные данные – binary, image.

  • Дата и время – date, datetime.

  • Прочие типы данных.

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

Объявление переменной выполняется командой DECLARE, задание значения переменной осуществляется либо командой SET, либо SELECT:

DECLARE @EmpID INT

SET @EmpID = 1

SELECT @EmpID = 1

Операторы – это специальные команды, предназначенные для выполнения простых операций над переменными:

  • Арифметические операторы: «*» – умножить, «/» – делить, «%» – модуль от деления, «+» – сложить, «-» – вычесть, «()» – скобки.

  • Операторы сравнения: «=» – равно, «>» – больше, «<» – меньше, «>=» – больше или равно, «<=» меньше или равно, «!=» – не равно.

  • Операторы соединения: «+» – соединение строк.

  • Логические операторы: «AND» – и, «OR» – или, «NOT» – не.

Функции.

Встроенные:

  • Агрегативные функции – функции, которые работают с коллекциями значений и выдают одно значение. Типичные представители: AVG – среднее значение колонки, SUM – сумма колонки, MAX – максимальное значение колонки, COUNT – количество элементов колонки.

  • Скалярные функции – это функции, которые возвращают одно значение, работая со скалярными данными или вообще без входных данных. Типичные представители: DATEDIFF – разница между датами, ABS – модуль числа.

  • Функции-указатели – функции, которые используются как ссылки на другие данные. Типичные представители: OPENXML – указатель на источник данных в виде XML-структуры, OPENQUERY – указатель на источник данных в виде другого запроса.

Пользовательские:

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

13. Transact sql. Dcl, ddl, dml. Ссылки на объекты в Transact sql. Элементы управления выполнением программы. Пакеты и сценарии

Transact SQL (T-SQL) – процедурное расширение языка SQL компанией Microsoft.

SQL был расширен такими дополнительными возможностями как:

  • управляющие операторы,

  • локальные и глобальные переменные,

  • различные дополнительные функции для обработки строк, дат, математики и т. п.,

  • поддержка аутентификации Microsoft Windows.

Разбивается на три подъязыка:

  1. Data Control Language (DCL) – содержит операторы, необходимые для управления доступом к объектам БД. (grant, deny)

  2. Data Definition Language (DDL) – создание объектов БД. Содержит следующие команды (create, drop, alter) Определяют структуру БД посредством создания и манипулирования БД и их объектами. Создавая структуру таблицы при помощи визуальных средств, всегда можно получить последовательность команд, генерирующих структуру БД целиком или отдельных ее частей.

  3. Data Manipulation Language (DML) – операторы манипулирования данными. (select, insert, update, delete).

Ссылки на объекты в Transact SQL.

Можно ссылаться двумя видами – используя полные имена и не полные.

Полные имена включает в себя 4 идентификатора: сервер.БД.владелец.объект

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

  1. Сервер по умолчанию – локальный сервер

  2. БД по умолчанию – текущая БД

  3. Владельцем считается тот пользователь, чье имя указанно в строке регистрации текущего соединения.

Customer {

KeyCustomer N(8,0)

txtCustomer C(250)

keyTown N(8,0)

}

Пример сокращенного наименования объектов в SQL Server:

select * from customer where txtCustomer like “Ж*”

Если имена пересекаются с системными имена или в названии используются пробелы, то можно использовать либо “”, либо [].

select * from GK239-00.BD_TEST.student.customer where txtcustomer like “Ж*”

Элементы управления выполнением программы.

В Transact-SQL существуют специальные команды, которые позволяют управлять потоком выполнения сценария, прерывая его или направляя в нужную логику.

  • Блок группировки – структура, объединяющая список выражений в один логический блок (BEGIN … END).

  • Блок условия – структура, проверяющая выполнения определенного условия (IF … ELSE).

Пример: запретим выполнение оператора delete, если количество незавершенных транзакций больше одной.

if @@trancount > 1

select “нельзя”

else

delete from customer

  • Блок цикла – структура, организующая повторение выполнения логического блока (WHILE … BREAK … CONTINUE).

declare @i int

set @i=0

while (@i < 10)

begin

insert into customer txtcustomer values (@i)

set @i=@i + 1

break

  • Команда return осуществляет безусловный выход из текущего блока с указанием числового кода выхода. При успешном завершении процедуры пишется return 0. При неуспешном завершении пишется код ошибки.

  • Комментарии:

однострочные --

многострочные /* */

  • Переход – команда, выполняющая переход потока выполнения сценария на указанную метку (GOTO).

  • Задержка – команда, задерживающая выполнение сценария (WAITFOR).

  • Вызов ошибки – команда, генерирующая ошибку выполнения сценария (RAISERROR).

Пакеты – набор операторов языка transact SQL, одновременно передаваемых в SQL Server и выполняемых как единая группа.

Выполнение пакетов возможно при помощи утилит oSQL и QueryAnalizer. Пакеты являются составной частью сценария. Попытка выполнить пакет с явным заданием слова go другими утилитами приведет к ошибке.

Обработка пакетов.

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

Сценарии.

Это один или несколько операторов Transact SQL, сохраненных в файле. Создать сценарий можно средствами Enterprise Manager, Query Analizer и при помощь любого текстового редактора.

    1. Реализуем БД

    2. Создаем, генерируем скрипт, который описывает структуру БД

    3. Генерируем скрипт с начальными значениями.