СТАТЬЯ
14.06.02


Часть 2 >>

Microsoft SQL Server 2000: новые возможности для разработчика приложений

© Наталия Новакова
Статья была опубликована в КомпьютерИнформ, №4-2001

В предыдущей статье "Microsoft SQL Server 2000: новые возможности для администраторов баз данных" освещались преимущества, которые предоставляет СУБД Microsoft SQL Server 2000 специалистам, разрабатывающим информационные системы на ее базе. В следующих статьях эти новшества будут рассмотрены более детально.

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

Microsoft SQL Server 7.0 позволяет работать с достаточно широким спектром типов данных: целочисленных и вещественных, символьных и текстовых, денежных и двоичных, даты и времени, специальных. Однако нашлось что добавить - в Microsoft SQL Server 2000 появился новый тип данных - bigint, предназначенный для размещения целочисленных данных в 8 байтах. Таким образом, пользователи могут хранить данные в диапазоне от -263 (-9223372036854775808) до 263 - 1 (9223372036854775807).

Проверить это достаточно легко с помощью следующего несложного примера:

declare @b1 as bigint, @b2 as bigint
set @b1 = power(cast(-2 as bigint), 63)
set @b2 = -(@b1 + 1)
select @b1 as 'Нижняя граница bigint',
@b2 as 'Верхняя граница bigint'

Наряду с такими специальными типами данных, как timestamp и uniqueidentifier, которые применялись в предшествующей версии, соответственно, для того, чтобы отследить последовательность изменения строк в таблицах в пределах БД и обеспечить уникальность данных в одном из типов репликации (merge replication), появились типы данных table и sql_variant.

Тип данных table используется только для переменных и позволяет хранить в них сложные наборы данных. Переменная типа table похожа на временную таблицу. Табличная переменная может использоваться в качестве параметра функции или хранимой процедуры. Что касается остальных манипуляций с переменными типа table, то они очень похожи на действия, выполняемые с обычными таблицами. Оператор объявления переменной типа table начинается, как и при объявлении переменных других типов с ключевого слова DECLARE, а объявление полей аналогично командам CREATE и ALTER при создании и модификации таблицы:

declare @tb table
(GID bigint identity (1000,1),
lname nvarchar(30)NOT NULL,
flname nvarchar(30)NOT NULL,
sname nvarchar(30)NOT NULL,
phone char(13) NULL)

На поля могут накладываться ограничения PRIMARY KEY, UNIQUE и NULL/ NOT NULL. Однако дополнительно нельзя назначать никакие индексы, кроме тех, которые автоматически создаются при использовании ограничений PRIMARY KEY и UNIQUE.

Объявленная с помощью табличного типа переменная может обрабатываться точно так же, как и таблица с помощью команд SELECT, INSERT, DELETE и UPDATE:

insert into @tb values ('Novakova', 'Natalie', 'E', '(812)274-1489')
select * from @tb

В этой ситуации нельзя применять операции массового копирования SELECT … INTO и INSERT … EXEC, что приводит к необходимости последовательного заполнения таблицы записями.

Поля таблицы не могут сами быть типа TABLE, а значит, вложенные таблицы неприменимы. Табличные переменные нельзя применять в операторах DDL: DROP TABLE, ALTER TABLE, TRUNCATE TABLE.

Тип данных sql_variant дает возможность хранить значения любых других скалярных типов данных за исключением text, ntext, image и timestamp.

declare @y as sql_variant, @z as sql_variant
select @y = 2, @z =3
select cast(@y as int)* cast (@z as int)

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

Теперь несколько слов о том, как с минимальными затратами времени научиться не только создавать информационные системы на основе предлагаемых Microsoft технологий, но и делать это максимально эффективно.

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

На рисунке изображена последовательность курсов, предлагаемых специалистам, впервые ступившим на стезю разработки приложений с помощью Microsoft SQL Server. Первый курс предназначен новичкам в работе с SQL, второй курс будет полезен и тем, кому уже приходилось сталкиваться с администрированием Microsoft SQL Server, а вот третий курс, действительно, будет полезен всем специалистам: как новичкам, так и профессионалам.

Работа с Microsoft SQL Server 2000 с помощью запросов Transact-SQL

Двухдневный курс 2071 представляет собой введение в формирование запросов к БД SQL-сервера на языке программирования Transact-SQL.

Рассматриваются следующие темы:

Администрирование БД Microsoft SQL Server 2000

Пятидневный курс 2072 дает знания и необходимые навыки для инсталляции, конфигурирования и поддержки БД Microsoft SQL Server. (Курс 2071 является необходимым условием для понимания курса 2072.)

Темы:

Программирование БД Microsoft SQL Server 2000

Пятидневный курс 2073 дает знания и навыки, необходимые для программирования и создания решений на основе баз данных с использованием SQL Server 2000. (Знакомство с курсом 2071 необходимо для освоения курса 2073.)

Темы:

Дополнительная информация

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Обсудить на форуме Microsoft
Отправить ссылку на страницу по e-mail


Interface Ltd.
Тel/Fax: +7(095) 105-0049 (многоканальный)
Отправить E-Mail
http://www.interface.ru
Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 14.06.02