СТАТЬЯ |
14.06.02
|
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. Отправить E-Mail http://www.interface.ru |
|
Ваши замечания и предложения отправляйте автору По техническим вопросам обращайтесь к вебмастеру Документ опубликован: 14.06.02 |