русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Объединение двух таблиц в представлении


Дата добавления: 2015-07-09; просмотров: 634; Нарушение авторских прав


В следующем наборе действий мы модифицируем представление dbo.Contact_in_495 для отображе­ния информации обо всех покупателях с номером телефона, начинающегося с 495, сделавших заказ, с целью отображе­ния даты заказа путем объединения таблиц dbo.Customers и dbo.Orders по общему столбцу CustID.

1. Откройте SQL Server management Studio и выполните подключение с использованием аутентификации Windows.

2. В Object Explorer расширьте папки сервера Databases=>Sales=>Views.

3. Щелкните правой кнопкой на представлении dbo.Contact_in_495 и выберите команду Modify View для открытия редактора View Assisted Editor.

4. Модифицируйте код в блоке синтаксиса T-SQL (рис. 4):

SELECT TOP 100 PERCENT Lname as [Фамилия], Fname as [Имя], Phone as [Номер телефона], o.OrdDate as [Дата]

FROM dbo.Customers с JOIN dbo.Orders o ON c.CustID = o.CustID

WHERE Phone LIKE ' 495%'

ORDER BY Lname

5. Щелкните на кнопке Save панели инструментов.

6. Чтобы протестировать представление, откройте новый запрос SQL Server и
выполните следующий код:

USE Sales

SELECT * FROM dbo.Contact_in_495

 

 

Рис. 4. Объединение двух таблиц в представлении

Если вы сравните инструкцию SELECT из п. 4 с инструкцией SELECT из п. 6, то поймете, почему лучше использовать представление вместо нерегламентированного запроса. Если вы запишете инструкцию SELECT из п. 4 в интерфейсный код (который будет храниться на пользовательских машинах), то каждый раз при выполнении за­проса все строки кода будут пересылаться на сервер через сеть. Поскольку вы преобразовали этот запрос в представление, то по сети будут пересылаться только две строки кода из п. 6.

Объединение множества таблиц в представлении

Обычно данные, которые требуется извлечь из реляционной базы данных, такой как Sales, содержатся в разных таблицах. Пусть нам нужно выяс­нить, какие продукты заказывались в каждом контакте. Для этого нужно добавить в представление таблицу Products.



Таблица Products содержит информацию обо всех продуктах, используемых в заказах, включая их идентификаторы. Чтобы извлечь идентификатор продукта, входящего в заказ, сделанный клиентом с телефонным номером, начинающимся с 495, нужно объединить таблицы Orders и Customers по столб­цу CustID, а затем объединить таблицы Orders и Products по столб­цу ProdID:

SELECT TOP 100 PERCENT Lname as [Фамилия], Fname as [Имя], Phone as [Номер телефона], o.OrdDate as [Дата], p.Description as [Продукт]

FROM dbo. Orders o

JOIN dbo.Customers c ON o.CustID = c.CustID

JOIN dbo.Products p ON o.ProdID = p.ProdID

WHERE Phone LIKE ' 495%'

ORDER BY Lname

Для отображения данных о продуктах вы можете модифицировать представление Person.Contacts__in_495 сле­дующим образом:

 
 

Рис. 5. Модифицируем код запроса

 

1. Откройте SQL Server Management Studio и выполните подключение с использованием аутентификации Windows.

2. В окне Object Explorer раскройте папки Databases=>Sales=>Views.

3. Щелкните правой кнопкой мыши на представлении dbo. Contacts_in_495
и с помощью команды Modify View, откройте редактор View Assisted Editor.

4. Модифицируйте свой код следующим образом (рис. 5):

SELECT TOP 100 PERCENT Lname as [Фамилия], Fname as [Имя], Phone as [Номер телефона], o.OrdDate as [Дата], p.Description as [Продукт]

FROM dbo. Orders o

JOIN dbo.Customers c ON o.CustID = c.CustID

JOIN dbo.Products p ON o.ProdID = p.ProdID

WHERE Phone LIKE ' 495%'

ORDER BY Lname

 

5. На панели инструментов щелкните на кнопке Save.

6. Чтобы протестировать представление, откройте новый запрос SQL Server и
выполните следующий код (рис. 6):

USE Sales

SELECT * FROM dbo.Contact_in_495

Как видите, представления очень удобно использовать для повышения производительности и экономии сетевого трафика. Их также можно использовать для обеспечения защиты данных от непреднамеренного искажения при их модификации, разрешая доступ только к определённым полям.



<== предыдущая лекция | следующая лекция ==>
Организация результирующего набора данных | Модификация данных через представление


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.089 сек.