Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
<раздел FROM>::= FROM <имя таблицы> [JOIN <имя таблицы> ON <условие соединения> ...]
При выполнении декартова произведения двух таблиц производится таблица, строки которой являются конкатенацией строк первой и второй таблиц. Операцию декартова произведения можно реализовать с использованием SQL-запроса типа SELECT-FROM. По стандарту ANSI операция декартова произведения может указываться явно в разделе FROM с использованием ключевой фразы CROSS JOIN.
При выполнении операции объединения двух таблиц производится таблица, включающая все строки, входящие хотя бы в одну из таблиц-операндов. При этом число столбцов и типы данных этих столбцов должны быть одинаковыми для всех операндов. Для объединения результирующих таблиц операторов SELECT используется ключевое слово UNION.
Операция пересечения двух таблиц производит таблицу, включающую все строки, входящие в обе исходные таблицы.
Таблица, являющаяся разностью двух таблиц, включает все строки, входящие в таблицу - первый операнд, такие, что ни одна из них не входит в таблицу, являющуюся вторым операндом.
Работа с утилитой Query Analyzer
Клиентская утилита Query Analyzer используется для тестирования SQL-запросов. После запуска данной утилиты необходимо подключиться к серверу. При этом в диалоговом окне подсоединения (connect dialog box) необходимо указать имя сервера, идентификатор пользователя и пароль. После регистрации окно Query Analyzer отображает в заголовке информацию о сервере, пользователе и текущей базе данных. Окно запросов при этом открыто.
Пункты меню File управляют сохранением, чтением и печатью запросов, а также подключениями к серверам. Меню Edit позволяет копировать и искать строки. Меню Query управляет выполнением запросов и предлагает доступ к некоторым общим установкам подключения. Пункты меню Help и Window работают практически так же, как и в любом приложении Windows.
Кнопки панели инструментов (toolbar) дают те же возможности, что и пункты меню, но при однократном нажатии отдельные кнопки особенно удобны. Первая кнопка слева (кнопка Новый запрос) позволяет создать новое окно запросов и новое подключение к данному серверу с использованием того же идентификатора пользователя и пароля. Кроме того, оно позволяет автоматически использовать ту же базу данных, что и текущее подсоединение. Одновременные подсоединения удобны, поскольку они позволяют работать как два отдельных пользователя, тестируя блокировку и многопользовательское поведение, или дают возможность быстро посмотреть значение, необходимое для написания сложного запроса в другом окне.
Другие полезные кнопки находятся справа от окна запросов. Крайняя левая кнопка из трех (перечеркнутая крестиком пиктограмма запроса) закрывает текущий запрос и подсоединение. Именно таким образом отменяется действие кнопки “Новый запрос”.
Вторая кнопка с указывающей направо стрелкой становится зеленой, когда вводится любой текст в текстовой области окна запросов. Эта кнопка выполнения. При нажатии ее по окончании ввода запроса, текст запроса будет передан на сервер. Кнопка будет серой, когда в окне нет или когда запрос уже выполняется.
Третья кнопка - это квадрат, имеющий красный цвет, когда запрос выполняется. Это кнопка отмены запроса.
Текстовая область может использоваться для ввода запроса, просмотра результата выполнения запроса, просмотра статистики ввода-вывода при выполнении запроса, а также для просмотра плана запроса (?). Для перехода к указанным режимам использования текстовой области необходимо выбрать закладки Query, Results, Statistics I/O и Showplan, соответственно.
Вызвать утилиту Query Analyzer можно запустив загрузочный модуль isqlw. exe. Необходимыми динамическими библиотеками при работе утилиты являются: ntdblib. dll, sqlgui32.dll, sqlsvc32.dll и sqlqry32.dll.
Кроме того, вызвать утилиту Query Analyzer можно работая с интегрированной утилитой SQL Enterprise Manager. Для этого необходимо выбрать пункт Query Tool меню Tools.
Описание задания
База данных книготорговой компании
Рассмотрим простую предметную область жизнедеятельности, связанную с книгоизданием и маркетингом. В рамках данной предметной области существуют издатели, которые публикуют книги, авторы, которые книги пишут, и издания (сами книги). Разработана база данных pubs, определяющая описанную выше предметную область. Инфологическая модель предметной области с использованием диаграмм “сущность-связь” (ER-диаграмм) [1]), разработанных Ченом, представлена на рис. 1.
На данном рисунке прямоугольниками обозначены типы сущностей (объектов), а ромбами - типы связей между сущностями. Атрибуты сущностей указаны мелким шрифтом в том же прямоугольнике, который отображает типы сущностей. Имя типа сущности отмечено в верхней части прямоугольника жирным шрифтом. Атрибуты связей в данном случае обозначены овалами. Как видно из рис. 1 у связи “Написана” имеется два атрибута: первый атрибут определяет порядок автора в названии книги, второй атрибут - гонорар автора книги.

Рис. 1
База данных книготорговой компании (база данных pubs) включает три таблицы, определяющие сущности: таблица authors определяет авторов, таблица publishers - издателей, а таблица titles - сами книги. Четвертая таблица titleauthor задает отношение между таблицами titles и authors. Она показывает, какие авторы написали какие книги. Связь между таблицами titiles и publishers определяется столбцом pub_id в данных таблицах.
Ниже представлены структуры используемых таблиц.
Структура таблицы authors
Имя столбца | Тип данных | Размерность | Возможность значений null | Содержательное описание |
au_id | varchar | 11 | Нет | Идентификатор автора |
au_lname | varchar | 40 | Нет | Фамилия автора |
au_fname | varchar | 20 | Нет | Имя автора |
phone | char | 12 | Нет | Номер телефона |
address | varchar | 40 | Да | Адрес (улица, дом, квартира) |
city | varchar | 20 | Да | Город проживания |
state | char | 2 | Да | Штат проживания |
zip | char | 5 | Да | Энергичность |
contract | bit | 1 | Нет | Наличие контракта |
Структура таблицы publishers
Имя столбца | Тип данных | Размерность | Возможность значений null | Содержательное описание |
pub_id | char | 4 | Нет | Идентификатор издательства (издателя) |
pub_name | varchar | 40 | Да | Название издательства (имя издателя) |
city | varchar | 20 | Да | Город |
state | char | 2 | Да | Штат |
country | varchar | 30 | Да | Страна |
Структура таблицы titles
Имя столбца | Тип данных | Размерность | Возможность значений null | Содержательное описание |
title_id | varchar | 6 | Нет | Идентификатор книги |
title | varchar | 80 | Нет | Название книги |
type | char | 12 | Нет | Тип книги |
pub_id | char | 4 | Да | Идентификатор издательства |
price | money | 8 | Да | Цена |
advance | money | 8 | Да | Аванс (стоимость предварительной продажи) |
royalty | int | 4 | Да | Гонорар |
ytd_sales | int | 4 | Да | Число книг, проданных в текущем году |
notes | varchar | 200 | Да | Замечания |
pubdate | datetime | 8 | Нет | Дата опубликования |
Структура таблицы titleauthor
Имя столбца | Тип данных | Размерность | Возможность значений null | Содержательное описание |
au_id | varchar | 11 | Нет | Идентификатор автора книги |
title_id | varchar | 6 | Нет | Идентификатор книги |
au_ord | tinyint | 1 | Да | Порядок автора в названии книги |
royaltyper | int | 4 | Да | Авторский гонорар |
В столбце type таблицы titles используются следующие типы книг: business - книги по бизнесу, mod_cook - книги по современной кулинарии, popular_comp - книги по компьютерной тематике, psychology - книги по психологии, trad_cook - книги по традиционной кулинарии, UNDECIDED - неопределенный тип книги.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


