SQL: быстрое погружение - [35]

Шрифт
Интервал

С помощью приведенного выше запроса, объединяющего пять таблиц, мы можем узнать, какие треки были проданы каждым сотрудником и какому клиенту. Агрегируя данные, мы также определим, какой трек продавался лучше всего, какой общий доход был получен от продажи трека, а также информацию о сотрудниках, осуществивших продажи. Теперь мы можем при желании сохранить это объединение как представление.

Примечание

Соединенные представления будут работать только в том случае, если ключевые поля, общие для всех этих таблиц, были включены в первоначальное соединение.

Удаление представлений с помощью оператора DROP

Ранее мы уже описали один способ удаления представления — щелчок правой кнопкой мыши по имени представления на вкладке Database Structure (Структура базы данных). Представление также можно удалить с помощью команды DROP. Это выглядит следующим образом:

DROP VIEW

V_AvgTotal

Она удалит представление V_AvgTotal. Из базы данных удаляется только представление — синтаксис DROPVIEW не влияет на данные.

Примечание

Если вы удалите представление, на которое ссылаются другие представления, эти представления больше не будут работать.

Внимание

DROP — это команда для удаления любых элементов. Она может также удалить из базы данных таблицу. В следующей главе вы изучите инструменты, с помощью которых можно редактировать или удалять данные без возможности восстановления. Как вы уже знаете, представление также можно удалить из базы данных, щелкнув по нему правой кнопкой мыши и выбрав опцию Remove View (Удалить представление).

Контрольные вопросы

Для этого задания используем запрос из главы 8:

SELECT

BillingCity,

AVG(Total) AS [City Average],

(SELECT

avg(total)

from

invoices) AS [Global Average]

FROM

invoices

GROUP BY

BillingCity

ORDER BY

BillingCity

1. Из запроса SELECT возьмите внутренний запрос и создайте из него представление. Сохраните представление с именем V_GlobalAverage.

2. Удалите подзапрос из приведенного выше кода и замените его вновь созданным представлением V_GlobalAverage.

3. Сохраните этот новый запрос как представление с именем V_CityAvgVsGlobalAvg.

4. Удалите представление V_GlobalAverage. Как будет работать V_CityAvgVsGlobalAvg?

Резюме

• Представления — это виртуальные запросы, созданные с помощью SQL, на которые можно ссылаться в других запросах.

• Представления создаются посредством добавления в начало запроса следующего условия: CREATEVIEWV_VIEWNAMEAS.

• Представления особенно полезны при написании длинных запросов.

• Представления можно изменять и удалять с помощью функций из вашей версии СУБД или с помощью команд SQL.

Глава 10. DML — язык управления данными

Все операторы SQL, которые вы уже изучили, использовались для извлечения информации из базы данных или создания производных данных на основе имеющихся значений. Эта глава познакомит вас с языком управления данными (DML) и с операторами SQL, которые используются для изменения данных, хранящихся в таблицах базы данных.

Внимание

С этими командами лучше попрактиковаться в «песочнице», например на нашей учебной базе данных. Использование DML в рабочей базе с реальными данными может привести к фатальным последствиям.

Чем различаются анализ данных и управление базами данных

До сих пор мы говорили о том, что основная цель SQL-запросов — извлечение существующих данных из базы данных и преобразование их в полезную информацию (на примере компании sTunes). Но, как мы упоминали во введении, SQL выполняет гораздо более сложные задачи, чем просто превращение данных в значимую информацию. Существуют такие специалисты, как разработчики баз данных и администраторы баз данных, контролирующие рост, улучшение и управление базой данных компании. Функции этих специалистов различаются в зависимости от компании и реализации базы данных. Даже опытные пользователи SQL расходятся во мнениях о том, является ли язык DML (Data Manipulation Language — язык управления данными) отдельной областью изучения или его следует изучать совместно с операторами SQL, предназначенными только для извлечения информации.

На мой взгляд,

новичкам могут быть непонятны различия в ролях тех, кто работает с базами данных. Язык DML отлично подходит для администрирования и разработки баз данных. Если компания небольшая и в ней используется только одна база данных, роли аналитика, разработчика и администратора могут быть назначены одному человеку, и этим человеком можете быть вы! Так что даже если ваша основная цель — просто научиться писать необходимые запросы, важно понять работу DML.

Данными в РСУБД можно управлять с помощью следующих DML-команд: INSERT, UPDATE и DELETE. Как следует из названий, эти команды**** могут использоваться для добавления, изменения и удаления данных из таблиц в базе данных. Для нашей базы sTunes мы продемонстрируем, как выполнить задание от руководства компании на добавление новых исполнителей к нашей музыкальной базе, добавление новых записей, а затем их удаление.

Примечание

В DB Browser при внесении любых изменений в базу данных sTunes с использованием DML отображается сообщение с предложением сохранить изменения или закрыть файл базы данных без сохранения изменений. Вы можете сделать копию исходного файла базы данных, чтобы попрактиковаться в работе с базой данных, не опасаясь потерять оригинал.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


В работу с головой. Паттерны успеха от IT-специалиста

Не можете сосредоточиться на работе? Постоянно отвлекаетесь на проверку электронной почты, социальные сети и новостные ленты? Пора воспользоваться советами от ведущих IT-специалистов и погрузиться в работу с головой.Освойте один из самых ценных навыков – умение сосредоточиться на сложной задаче, не отвлекаясь на мелочи. Только так можно справиться со сложной информацией и добиться лучших результатов за минимальное время. Погружение в работу – это суперсила в нашей все более конкурентной экономике XXI века.


Чистый код. Создание, анализ и рефакторинг

Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей.


Изучаем Python

Книга "Изучаем Python" - это ускоренный курс, который позволит вам сэкономить время и сразу начать писать работоспособные программы (игры, визуализации данных, веб-приложения и многое другое). Хотите стать программистом? В первой части книги вам предстоит узнать о базовых принципах программирования, познакомиться со списками, словарями, классами и циклами, вы научитесь создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную "стрелялку" с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию, и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации. Если вы решились разобраться в том что такое программирование, не нужно ждать.


Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих

Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.