(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Рисуем в SQL Server Management Studio

Источник: gotdotnet

В стародавние времена вообще не было графических интерфейсов. И мониторов тоже не было, но это было уже совсем давно. И уж тем более - никакой графики не было у утилит, взаимодествовавших с базой данных. Хотя сегодня пользователям продуктов Microsoft наверное страшно представить, что по сей день существуют подобные продукты.

Например, для подключения модема skylink к ноутбуку одной очень известной и "понтовой" фирмы, пользователю придется чего-то набирать в командной строке одноименной операционной системы, которая почему-то считается самой продвинутой с точки зрения пользовательского интерфейса!

А разработчики, использующие СУБД не менее "понтовой" фирмы, пока не установят "дополнительных" утилит, пишут запросы в строго текстовом интерфейсе без подсветки синтаксиса.

Microsoft же идет по пути "будь поближе к народу" и в каждой новой версии SQL Server радует небольшими усовершенствованиями в области представления информации в прилагаемых к самому серверу утилитах.
Уже в SQL 2000 (да и раньше в общем-то тоже) были нормальный редактор запросов и табличное отображение их результатов.
Также красиво отображались планы запросов - в виде интуитивно понятных пиктограмм и "стрелочек".

В 2005 в SQL Srerv Management Studio (SSMS) добавилась возможность при получении в выборке xml данных, открывать xml-документы одним щечком мыши.

В 2008 разработчики добавили помимо всего прочего не только пространственные типы данных, но и их отображение прямо в SSMS.
О чем в том числе рассказал Никита Шамгунов (один из разработчиков SQL Server) на Платформе 2009:
http://platforma2009.ru/materials/showitem.aspx?MID=25e0f71e-9bb1-41b7-b03c-3897e69f42ea

Но казалось бы, зачем разработчику или администратору такая "красота", если он работает на фабрике или в банке?
Ведь ничего "графического" в базах таких предприятий, как правило, не хранится...

Но есть такая вещь, как диаграмма Ганта. Она, например, используется для отображения разного рода расписаний. Попробуем нарисовать такую диаграмму прямо в SSMS, одним запросом.

Для начала - создадим функцию, которая преобразует временной диапазон в соответствующий прямоугольник на плоскости:
(помимо дат начала и конца диапазона, в функцию передается некий номер, который будет устанавливает расположение этого прямоугольника по "вертикали")

create function OrderToPolygon(@NUM int, @StartDate datetime, @EndDate datetime)

returns geometry

as

begin

      return(geometry::STGeomFromText('POLYGON ((

      '+CONVERT(varchar(10), datediff(dd, '2009-01-01', @StartDate))+' '+CONVERT(varchar(10), @NUM)+',

      '+CONVERT(varchar(10), datediff(dd, '2009-01-01', @StartDate))+' '+CONVERT(varchar(10), @NUM+1)+',

      '+CONVERT(varchar(10), 1+datediff(dd, '2009-01-01', @EndDate))+' '+CONVERT(varchar(10), @NUM+1)+',

      '+CONVERT(varchar(10), 1+datediff(dd, '2009-01-01', @EndDate))+' '+CONVERT(varchar(10), @NUM)+',

      '+CONVERT(varchar(10), datediff(dd, '2009-01-01', @StartDate))+' '+CONVERT(varchar(10), @NUM)+'))', 0))

end

Теперь создадим и заполним таблицу "заказов" со сроками их изготовления:
create table #orders (
      OrderNum varchar(10),
      StartDate datetime,
      EndDate datetime
      )
insert into #orders
select '1234' , '2009-01-01', '2009-01-03' union all select '1235' , '2009-01-03', '2009-01-06'
union all
select '1236' , '2009-01-05', '2009-01-08' union all select '1237' , '2009-01-07', '2009-01-08'
union all
select '1238' , '2009-01-09', '2009-01-11' union all select '2231' , '2009-01-02', '2009-01-03'
union all
select '2235' , '2009-01-04', '2009-01-05' union all select '2238' , '2009-01-06', '2009-01-08'
union all
select '2239' , '2009-01-08', '2009-01-09' union all select '2240' , '2009-01-10', '2009-01-12'

Сделав выборку из этой таблицы
select OrderNum, dbo.OrderToPolygon(ROW_NUMBER() over(order by OrderNum desc), StartDate, EndDate)
from #orders

обнаруживаем невиданную ранее закладку Spatial results

Можно включить в качестве имен объектов на плоскости номера заказов:

Только не спрашивайте, как задавать цвет геометрическим фигурам, хорошо? ;)
Все-таки это база данных, а не графический редактор.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 09.02.2010 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft 365 Business Basic (corporate)
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Windows Professional 10, Электронный ключ
Microsoft 365 Apps for business (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
3D и виртуальная реальность. Все о Macromedia Flash MX.
Windows и Office: новости и советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100