Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 21
Текст из файла (страница 21)
Выражение <условие выборки> являетсялогическим. Его элементами могут быть имена столбцов, операции сравнения, арифметические операции, логические связки (И, И Л И , НЕТ), скобки, специальные функции LIKE, NULL, IN и т. д.Операнд G R O U P BY позволяет выделять в результирующем множествезаписей группы. Группой являются записи с совпадающими значениями встолбцах, перечисленных за ключевыми словами G R O U P BY.
Выделениегрупп требуется для использования в логических выражениях операндовW H E R E и HAVING, а также для выполнения операций (вычислений) надгруппами.В логических и арифметических выражениях можно использовать следующие групповые операции (функции): AVG (среднее значение в группе), МАХ(максимальное значение в группе), MIN (минимальное значение в группе),SUM (сумма значений в группе), COUNT (число значений в группе).Операнд HAVING действует совместно с операндом G R O U P BY и используется для дополнительной селекции записей во время определениягрупп. Правила записи <условия поиска> аналогичны правилам формирования <условия выборки> операнда W H E R E .3.
Реляционнаямодельданных105Операнд ORDER BY задает порядок сортировки результирующего множества. Обычно каждая <спецификация> аналогична соответствующей конструкции оператора CREATE INDEX и представляет собой пару вида: <имя столб ц а > [ ASC| DESC].Замечание.Оператор SELECT может иметь и другие более сложные синтаксические конструкции, которые мы подробно рассматривать не будем, а поясним их смысл.Одной из таких конструкций, например, являются так называемые подзапросы. Они позволяют формулировать вложенные запросы, когда результаты одного оператора SELECT используются в логическом выражении условия выборки операнда W H E R E другого оператора SELECT.Вторым примером более сложной формы оператора SELECT является оператор, в котором отобранные записи в дальнейшем предполагается модифицировать (конструкция FOR UPDATE OF).
СУБД после выполнения такого оператора обычно б л о к и р у е т ( з а щ и щ а е т ) о т о б р а н н ы е з а п и с и отмодификации их другими пользователями.Еще один случай специфического использования оператора SELECT —выполнение объединений результирующих таблиц при выполнении нескольких операторов SELECT (операнд UNION).Пример 5. Выбор записей.Для таблицы ЕМР, имеющей поля: NAME (имя), SAL (зарплата), MGR(руководитель) и DEPT (отдел), требуется вывести имена сотрудников и размер их зарплаты, увеличенный на 100 единиц. Оператор выбора можно записать следующим образом:SELECT name, sal+100FROM emp.Пример 6. Выбор с условием.Вывести названия таких отделов таблицы ЕМР, в которых в данный момент отсутствуют руководители.
Оператор SELECT для этого запроса можно записать так:SELECT deptFROM empW H E R E mgr is NULL.Пример 7. Выбор с группированием.Пусть требуется найти минимальную и максимальную зарплаты для каждогоиз отделов (по таблице ЕМР). Оператор SELECT для этого запроса имеет вид:SELECT dept, MIN(sal), MAX(sal)FROM empG R O U P BY dept.Часть 1. Основы106построениябазданных9. Оператор изменения записей имеет формат вида:UPDATE <имя таблицы>SET <имя столбца> = {<выражепие> , NULL }[, SET <имя столбца> = {<выражение> , NULL }...
][ W H E R E <условие>]Выполнение оператора UPDATE состоит в изменении значений в определенных операндом SET столбцах таблицы для тех записей, которые удовлетворяют условию, заданному операндом W H E R E .Новые значения полей в записях могут быть пустыми (NULL), либо вычисляться в соответствии с арифметическим выражением. Правила записи арифметических и логических выражений аналогичны соответствующим правилам оператора SELECT.Пример 8. Изменение записей.Пусть необходимо увеличить на 500 единиц зарплату тем служащим, которые получают не более 6000 (по таблице ЕМР). Запрос, сформулированный с помощью оператора SELECT, может выглядеть так:UPDATE empSET sal = 6500W H E R E sal <= 6000.10.
Оператор вставки новых записей имеет форматы двух видов:INSERT INTO <имя та6лицы>[(<список столбцов>)]VALUES (<список значений>)иINSERT INTO <имя та6лицы>[(<список столбцов>)]<предложение SELECT>В первом формате оператор INSERT предназначен для ввода новых записей сзаданными значениями в столбцах. Порядок перечисления имен столбцов долженсоответствовать порядку значений, перечисленных в списке операнда VALUES.Если <список столбцов> опущен, то в <списке значений> должны быть перечислены все значения в порядке столбцов структуры таблицы.Во втором формате оператор INSERT предназначен для ввода в заданнуютаблицу новых строк, отобранных из другой таблицы с помощью предложения SELECT.Пример 9.
Ввод записей.Ввести в таблицу ЕМР запись о новом сотруднике. Для этого можно записать такой оператор вида:INSERT INTO emp3. Реляционнаямодельданных107VALUES («Ivanov», 7500, «Lee», «cosmetics»).11. Оператор удалениязаписей имеет формат вида:DELETE F R O M < и м я таблицы>[ W H E R E <условие>]Результатом выполнения оператора D E L E T E является удаление из указанной таблицы строк, которые удовлетворяют условию, определенному операндом W H E R E . Если необязательный операнд W H E R E опущен, то есть условие отбора удаляемых записей отсутствует, удалению подлежат все записитаблицы.Пример 10.
Удаление записей.В связи с ликвидацией отдела игрушек (toy), требуется удалить из таблицы Е М Р всех сотрудников этого отдела. Оператор D E L E T E для этой задачи будет выглядеть так:D E L E T E F R O M empW H E R E dept = «toy».В заключение отметим, что, по словам Дейта, язык SQL является гибридом реляционной алгебры и реляционного исчисления.
В нем имеются элементы алгебры (оператор объединения U N I O N ) и исчисления (квантор сущ е с т в о в а н и я E X I S T S ) . Кроме того, я з ы к S Q L обладает р е л я ц и о н н о йполнотой.Контрольные вопросы и задания1. Дайте определение реляционной модели и назовите составляющие ееэлементы.2. Охарактеризуйте составные элементы реляционной модели данных иформы их представления.3.
Приведите математическое описание понятия отношения.4. Что такое домен отношения?5. Дайте определение схемы отношения.6. Что представляет собой первичный ключ отношения, для чего оп задается?7. Назовите условия, при соблюдении которых таблицу можно считатьотношением.8. Что такое индекс, для чего используется индексирование?9.
Изобразите схему одноуровневой индексации и дайте ей характеристику.10. Изобразите схему двухуровневой индексации и дайте ей характеристику.11. Что такое вторичный индекс, в чем его отличие от первичного индекса?12. Приведите схему возможной организации связи вторичного индекса сэлементами базы данных.108Часть 1. Основы построениябазданных13. Опишите действие механизма контроля целостности при манипулировании данными в таблицах.14. Дайте общую характеристику теоретических языков запросов.15.
Назовите операции реляционной алгебры, предложенной Коддом, иприведите графическую интерпретацию для операций пересечения ипроизведения.16. Охарактеризуйте общий и частные случаи операции соединения.17. Назовите правила записи выражений реляционной алгебры.18. Назовите и охарактеризуйте дополнительные операции реляционнойалгебры, предложенные Дейтом.19. Охарактеризуйте варианты реляционного исчисления.20. З а п и ш и т е в ы р а ж е н и е р е л я ц и о н н о г о и с ч и с л е н и я на кортежах, соответствующее запросу: « П о л у ч и т ь имена поставщиков, которыеп о с т а в л я ю т все детали».21. Охарактеризуйте язык QBE.22. Дайте опеределение понятия элемента примера и приведите пример егоиспользования в шаблоне запроса на выборку.23. Назовите предполагаемые направления совершенствования языка Q B Eв современных С У Б Д .24.
Охарактеризуйте язык SQL.25. Покажите, что с помощью выражения (( S [П#] M I N U S ( SP W H E R EД # = 'Р2' ) [П#] ) J O I N S ) [Имя] реляционной алгебры можно получить имена поставщиков, которые не поставляют деталь Р2 (рис. 3.7).26. С ф о р м у л и р у й т е запрос, в котором требуется определить названияфирм, которые поставляют товары, отличные от товаров, предлагаемыхфирмой Pencraft (подраздел 3.8).Литература1. Дейт К.Дж.
Введение в системы баз данных / Пер. с англ. 6-е изд. К.: Диалектика, 1998.2. ЗамулинА. В. Системы программирования баз данных и знаний. Новосибирск.:Наука. Сиб. отд., 1990.3. Мартин Дж. Организация баз данных в вычислительных системах. / Пер. сангл. М.: Мир, 1980.4. Романов Б. А., Кушниренко А. С.
dBase IV. Назначение, функции, применение.М.: Радио и связь, 1991.5. Ульман Дж. Основы систем баз данных. М.: Финансы и статистика, 1983.1094. Информационные системы в сетяхСоздание и применение информационных систем в сетях компьютеров, содной стороны, дает заметные преимущества, с другой стороны, вызывает рядпроблем.
В частности, возникают проблемы администрирования и защиты информации. В разделе рассматриваются основные понятия, связанные с сетямикомпьютеров и информационными системами в них, варианты архитектурыклиент-сервер, управление данными и доступ к ним, особенности информационных систем в локальных сетях, Интернете и интранете.4 . 1 .
Основные понятияОсновные понятия сетей ЭВМ раскроем, рассматривая виды и состав сетей, используемое программное и аппаратное обеспечение, а также методыуправления ресурсами.Виды и состав сетейСетью называется совокупность компьютеров или рабочих станций (PC),объединенных средствами передачи данных. Средства передачи данных, в своюочередь, в общем случае могут состоять из следующих элементов: связных компьютеров, каналов связи (спутниковых, телефонных, цифровых, волоконно-оптических, радио- и других), коммутирующей аппаратуры, ретрансляторов, различного рода преобразователей сигналов и других элементов и устройств.Современные сети можно классифицировать по различным признакам: по удаленности компьютеров, топологии, назначению, перечню предоставляемых услуг, принципам управления (централизованные и децентрализованные), методам коммутации (без коммутации, телефонная коммутация, коммутация цепей,сообщений, пакетов и дейтаграмм), видам среды передачи и т.д.В зависимости от удаленности компьютеров сети условно разделяют налокальные и глобальные.Произвольная глобальная сеть может включать другие глобальные сети,локальные сети, а также отдельно подключаемые к ней компьютеры (удаленные компьютеры) или отдельно подключаемые устройства ввода-вывода.