Новые возможности T-SQL в MS SQL Server 2005
Новые возможности T-SQL в MS SQL Server 2005
Гайдар Магдануров
Предисловие
В MS SQL Server 2005 появилось множество новшеств,
позволяющих еще более продуктивно использовать эту СУБД. Многие из них, такие
как новые типы данных, интеграция с платформой .NET, поддержка XML, новые
функции ранжирования, улучшения в системе безопасности и прочее, уже были ранее
описаны в журнале RSDN Magazine [1, 2, 3, 4, 5]. В этой статье будут рассмотрены
новые операторы и функции работы с данными. В связи с грядущим в ноябре выходом
финальной версии, приведенная информация является предельно актуальной для всех
разработчиков, использующих SQL Server.
Помимо описания новых возможностей в статье приведены
примеры кода, реализующие сходную функциональность, но работающие в предыдущих
версиях SQL Server, поэтому эта статья может быть полезна не только читателям,
планирующим использование SQL Server 2005, но и пользователям более ранних
версий этой СУБД.
Демонстрационная база данных
В статье не будут рассматривать стандартные
демонстрационные базы данных, поставляемые с SQL Server (Northwind,
AdventureWorks). Для наибольшей наглядности примеров, создадим небольшую базу
данных некоторого воображаемого магазина, торгующего ноутбуками.
Пользователю этой базы данных необходимо: иметь
информацию о моделях, имеющихся в наличии на складе, осуществлять выборку
моделей на основании цены и марки производителя, также, пользователю необходимо
иметь возможность оформлять заказы клиентов и составлять очередь заказов на
выполнение.
Для реализации этих желаний будет использована база
данных состоящая из четырех таблиц: Brands - справочник производителей,
позволяющий отслеживать отношения компаний с точки зрения «родительская-дочерняя»;
Products – таблица имеющихся на складе моделей, содержащая необходимую
информацию о цене, количестве, названии и базовой конфигурации; Orders –
таблица, содержащая информацию о заказах; QrdersQueue – таблица, реализующая
функциональность очереди заказов.
CREATE TABLE [dbo].[Brands](
[BrandID] [int] IDENTITY(1,1)
NOT NULL,
[Name] [nvarchar](32) NOT NULL,
[ParentID] [int] NULL DEFAULT
((0))
)
CREATE TABLE [dbo].[Orders](
[OrderID] [int] IDENTITY(1,1)
NOT NULL,
[Date] [datetime] NOT NULL,
[ProductID] [int] NOT NULL,
[Quantity] [int] NOT NULL
DEFAULT ((1))
)
CREATE TABLE [dbo].[Products](
[ProductID] [int] IDENTITY(1,1)
NOT NULL,
[BrandID] [int] NOT NULL,
[Model] [nvarchar](32) NOT
NULL,
[Configuration] [nvarchar](128)
NOT NULL,
[Price] [money] NOT NULL,
[Quantity] [numeric](18, 0) NOT
NULL
)
CREATE TABLE [dbo].[OrdersQueue](
[QueueID] [int] IDENTITY(1,1)
NOT NULL,
[OrderID] [int] NOT NULL
)
Похожие работы на - Новые возможности T-SQL в MS SQL Server 2005
|