Главная » Просмотр файлов » Теория и практика построения баз данных

Теория и практика построения баз данных (1088289), страница 66

Файл №1088289 Теория и практика построения баз данных (Теория и практика построения баз данных) 66 страницаТеория и практика построения баз данных (1088289) страница 662018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 66)

Язык 80С ЗапРос одиночной таблицы 307 Проектирование в 801. Личный Номер Специальность Курс Личный ~смир Имя Специальность Порядковый Номер Название Предмета Номер Студента Название Предмета Время АудитоРия Мы будем пользоваться теми же самыми шестью отношениями, на примере которых мы иллюстрировали реляционную алгебру в главе 8. Структура этих отношений изображена на рис. 9.1, а данные для примера приведены на рис.

9.2. в рис. 9.2. Данные для примеров применения ЗОЫ в — отношение СТУДЕНТ; о — отношение ЗАПИСЬ; в — отношение ЗАНЯТИЯ Н тобы выполнить проектирование с помощью 51,т1., мы указываем имя отношения, проекция которого берется, и перечисляем требуемые столбцы. При исполь- зовании стандартного синтаксиса БЯ) проекция СТУДЕНТ ЕЛичныйномер, Имя, Спе- циальность| выглядит следукпцим образом: 5ЕЕЕСТ ЛичнийНоиер, Иия.

Специальность ГРОМ СТУДЕНТ Операторы 5ЕСЕСТ и ГкОМ являются обязательными; столбцы, которые нужно получить, перечисляются после оператора 5ЕЕЕСТ, а имя таблицы, проекция которой берется, указывается после оператора ГКОИ, Результат проектирования для данных из рис. 9.2 выглядит следующим образом: Пе путайте оператор 5ЕСЕСТ с оператором выборки (зе!ест1оп) в реляционной алгебре.

С помощью оператора 5ЕЕЕСТ можно выполнять определенные в реляционнои алгебре операции проектирования и выборки, а также некоторые другие леиствия. Выборка же — это операция реляционной алгебры, заключающаяся и получении некоторого подмножества строк из таблицы. Рассмотрим другой пример: 5ЕЕЕСТ Специальность ГНОМ СТУДЕНТ Результатом будет таблица, показанная на следующей странице. Как можно видеть, данная таблица содержит одинаковые строки, и, следовательно, в строгом смысле она не является отношением. На самом деле, 5(~1 не удаляет повторяющиеся строки автоматически, поскольку для этого может потребоваться много времени, а во многих случаях это нежелательно или ненужно. Запрос одиночной таблицы 309 308 Глава 9. Язык 801 5ЕЕЕСТ Иия, Курс ГРОМ СТУДЕНТ ННЕРЕ Специальность - 'МАТЕМАТИКА' Результатом будет: БЕЙКЕР АС РАССЕЛ СЗ 5ЕЕЕСТ О!5Т!НСТ Специальность ГРОМ СТУДЕНТ приведет к следующей таблице: БЕЙКЕР АС Выборка в ЗО~ Если дублируюгциеся строки должны быть удалены, нужно указать ключевое слово О15Т1МСТ, как показано ниже: Результатом этой операции явится отношение: Операция выборки реляционной алгебры также выполняется с помощью коман- ды 5ЕЕЕСТ.

Примером может служить следующее: 5ЕЕЕСТ ЛичныйНриер, Иия, Специальность, Курс ГРОМ СТУДЕНТ ИНЕРЕ Специальность = 'МАТЕМАТИКА' В выражении 5ЕСЕСТ указаны имена всех столбцов таблицы. ГРОМ определяет таблицу, из которой производится выборка, а новая фраза УУНЕРЕ задает условия для выборки. Формат 5ЕЕЕСТ...ГРОМ...УУНЕРŠ— это фундаментальная структура операторов 501.. Следующая запись является эквивалентной формой предыдущего запроса; 5ЕЕЕСТ* ГРОМ СТУДЕНТ ННЕРЕ Специальность = 'МАТЕМАТИКА' Звездочка (*) означает, что предстоит получить все столбцы таблицы.

Результатом обоих этих запросов будет таблица: Выборку и проектирование можно объединить: В предложении УУНЕРЕ можно указать несколько условий. Например, выражение 5ЕЕЕСТ Иия, Курс ГРОМ СТУДЕНТ ИНЕРЕ Специальность = 'МАТЕМАТИКА' АМО Курс = 'АС' Условия в предложении УУНЕРЕ могут относиться к множеству значений. Для этого можно использовать операторы 1М и НОТ 1М. Рассмотрим выражение 5ЕЕЕСТ Иия ГРОМ СТУДЕНТ ИНЕРЕ Специальность 1М [' МАТЕМАТИКА'. 'БУХГАЛТЕРСКИЙ УЧЕТ' ) Обратите внимание, что в скобках можно указывать несколько значений. Это выражение означает следующее: «Отобразить имена студентов, специализирующихся на математике или бухгалтерском учете».

Результатом будет таблица: Выражение 5ЕЕЕСТ Иия ГРОМ СТУДЕНТ инеРе специальность мОт 1м ['НАтемАтикА', 'БУхГАлтеРский Унет') Запрос одиночной таблицы 311 310 Глава 9. Язык 80С ЛЕЕЕСТ Иня 1 ЛОМ СТУДЕНТ ННЕЯЕ Иня С1КЕ 'ЖС' Результатом будет: 5ЕЕЕСТ Иня, Сгецнальнасть ГНОМ СТУДЕНТ ННЕЯЕ ЛнчныйНонер ВЕТНЕЕН 200 ЯНО 300 даст следующий результат: Это выражение эквивалентно записи: чЕЕЕСТ Иня 1ЯОМ СТУДЕНТ ННЕЯЕ Курс 15 НОЫ.

Сортировка 5ЕЕЕСТ Иня, Курс ГЙОМ СТУДЕНТ ННЕЯЕ Курс Е1КЕ 'С ' 5ЕЕЕСТ Иня, Специальность, Курс ГЯОМ СТУДЕНТ представляет имена студентов, которые специализируются в любых областях, кроме математики и бухгалтерского учета. Результатом будет таблица: Выражение Специальность 1Н означает, что столбец Специализация может содержать любые из перечисленных значений. Это эквивалентно логическому оператору ИЛИ. Выражение Специальность НОТ 1Н означает, что значение в соответствующем столбце не должно равняться ни одному из перечисленных значений. В предложениях ИтНЕЯЕ можно также указывать диапазоны н шаблоны. Диапазоны задаются с помощью оператора ВЕТФЕЕН. Например, оператор 5ЕЕЕСТ Иня, Сгецнальность ГРОМ СТУДЕНТ ННЕЯЕ ЛнчныйНонер >- 200 ЯНО ЛнчныйНонер <= 300 Таким образом, при использовании оператора ВЕТИ1ЕЕН граничные значения (здесь это 200 и 300) включаются в выбранный диапазон.

Оператор Е1КЕ используется в ВОТ.-выражениях для выборки по тпаблону. Символ ' ' (подчеркивание) представляет произвольный одиночный символ. Символ '%' (процент) представляет последовательность из одного или более произвольных символов.

Так, результатом выражения является отношение, имеющее два столбца — Имя и Курс, где Курс состоит из двух символов, первым из которых является 'С': Следующее выражение позволяет найти студентов, чьи имена оканчивак1тся на 'С'. (В М1сгозой Ассеяя используется иной набор джокеров, чем в стандарте А1 151, 11место символа подчеркивания используется символ '?', а вместо символа пропп ~та — символ '*'.) Наконец, оператор 15 НОСЕ предназначен для поиска пустых (или отсутствуюитих) значений.

Выражение ласт имена студентов, у которых отсутствует значение в столбце Курс. Из данных, приведенных на рис. 9.2, можно видеть, что запись о курсе имеется у всех студен- п1в, поэтому результатом данного выражения будет отношение, не содержащее пи одной строки. Строки результирующего отношения могут быть отсортированы по значениям одного или нескольких столбцов с помощью оператора ОЯОЕЯ ВУ. Рассмотрим сле- дующий пример: 312 Глава 9. Язык 80С Запрос одиночной таблицы, 313 5ЕСЕСТ СООИТ(*) ГКОН СТУДЕНТ Рассмотрим выражения 5Е[ЕСТ СООИТ (Специальность) ГК[ХЯ СТУДЕНТ БЕ[ЕСТ СООИТ (015Т!ИСТ Специальность) ГКОН СТУДЕНТ Результатом будет таблица: [ з ) БЕ[ЕСТ Иия, СООИТ !*) ННЕКЕ Специальность = 'БУХГАЛТЕРСКИЙ УЧЕТ' ОКОЕК ВУ Иия Этот запрос перечислит в алфавитном порядке студентов, специализирующихся на бухгалтерском учете. Результат имеет следующий вид: Для сортировки можно выбрать более одного столбца.

В этом случае первый из указанных столбцов будет главным полем, по которому будет производиться сортировка, следующий столбец будет следующим по старшинству полем, и т. д. Можно объявить сортировку столбцов как по возрастанию (ключевое слово А5С), так и по убыванию (ключевое слово ОЕ5С). В качестве примера рассмотрим следующий оператор: БЕ[ЕСТ Иия, Специальность, Курс ГКОН СТУДЕНТ ННЕКЕ Курс 1И ['С1', 'С2'. 'С4'1 ОКОЕК Ву Имя АБС, Курс ОЕ5С Ключевые слова ОРОЕ К Ву могут комбинироваться с любыми операторами 5ЕЕЕСТ. Встроенные функции ЗСН В 5Я1 предусмотрено пять встроенных функций (Ьц!1Г-!и [цпсТ!опя): СООИТ, 50М, АЧС, МАХ и М1Н'. Функции СООИТ и 50М различны, хотя обе они выполняют подсчет.

Функция СООИТ вычисляет количество строк в таблице, а 50М подсчитывает ! иногда встроенные функции называют также игрегироеанными функциями (ахкгеяасе уинсг)оих), чтобы огличать их от встроенных фуикций языков програымироааиия, таких как ВОВВТК!НО. количество числовых столбцов. Функции АЧБ, МАХ и М1И также работают с числовыми столбцами: АЧБ вычисляет среднее значение, а МАХ и М1И находят соответстиенно максимальное и минимальное значение столбца в таблице. Выражение подсчитывает количество строк в таблице СТУДЕНТ и отображает его в таблице, имеющей одну строку и один столбец: Первое выражение подсчитывает общее количество специальностей в таблице, лключая повторения, а второе — количество различных специальностей.

Результаты имеют следующий вид: За исключением операторов с ключевым словом БКООР ВУ, которое рассмотре!ю ниже, встроенные функции в операторе 5ЕЕЕСТ не могут перемежаться с именами столбцов. Таким образом, запись вида недопустима. Встроенные функции можно использовать для запроса результата, как в приведенных выше примерах. В большинстве реализаций 5Щ и в стандарте АК31 501 встроенные функции не могут фигурировать в предложении И)НЕВЕ. Встроенные функции и группировка Для большей практичности встроенные функции можно применять к группам строк внутри таблицы. Такие группы формируются путем сбора (в логическом, Запрос нескольких таблиц 315 314 Глава 9.

Язык 80С 5ЕСЕСТ Специальность. НАХ (ПнчныйНсиер) ГРОМ СТУДЕНТ ИНЕРЕ Курс - 'С4' 6РООР ВУ Специальность НАУ1М6 СООИТ (*) > 1 5ЕСЕСТ Иня, СОЛТ(*) ГРОМ СТУДЕНТ 6РООР ВУ Специальность Результатом будет отношение: 5ЕЕЕСТ Специальность. СООИТ (*) ГРОМ СТУДЕНТ 6РООР ВУ Специальность НАУ)М6 СООМТ (*) > 2 Вложенные запросы 5ЕСЕСТ Иня ГРОМ СТУДЕНТ ИНЕРЕ ЛнчныйНонер 1М 1100.

200) 5ЕСЕСТ НснерСтудента а не в физическом смысле) строк, имеющих одинаковое значение заданного столбца. Например, студентов можно группировать по специальностям — то есть для каждого значения атрибута Специальность будет сформирована своя группа. На рис. 9.2 можно выделить три группы студентов: одна специализируется на истории, другая — на бухгалтерском учете, а третья — на математике.

Ключевое слово 6КООР ВУ инструктирует СУБД группировать те строки, которые имеют одинаковое значение заданного столбца. Рассмотрим выражение Строки таблицы СТУДЕНТ логически сгруппированы по значению атрибута Специальность, а функция СООМТ суммирует количество строк в каждой группе. Результат представляет собой таблицу из двух столбцов: названия специальности и количества студентов с этой специальностью. Для подгрупп в операторе 5ЕСЕСТ могут быть указаны как столбцы, так и встроенные функции.

В некоторых случаях возникает потребность рассматривать не все группы. Например, мы сформировали группы студентов, имеющих одинаковую специальность, и теперь хотим рассматривать только те из них, количество студентов в которых больше двух. Чтобы указать нужное нам подмножество групп, мы можем воспользоваться 5О1:предложением НАУ1М6. Следующие операторы ВО) выдают перечень предметов, на которых специализируется более двух студентов, а также количество студентов, занимающихся по каждой из этих специализаций: Здесь составляются группы из студентов, имеющих одинаковую специальность, затем выбираются те из них, в составе которых имеется более двух студентов (прочие группы игнорируются.) На выходе выдаются название специальности и число студентов в каждой из выбранных групп. Результат имеет следуютций вид: Для еще большей общности могут быть также добавлены предложения УХНЕКЕ.

Характеристики

Тип файла
DJVU-файл
Размер
9,56 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее