Рефераты. Новые возможности T-SQL в MS SQL Server 2005

Новые возможности 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

)




2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.