Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012)

Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012), страница 13

PDF-файл Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012), страница 13 Базы данных (18182): Книга - 6 семестрКузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012): Базы данных - PDF, страница 13 (18182) - СтудИзба2018-01-12СтудИзба

Описание файла

PDF-файл из архива "Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012)", который расположен в категории "". Всё это находится в предмете "базы данных" из 6 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "базы данных (бд)" в общих файлах.

Просмотр PDF-файла онлайн

Текст 13 страницы из PDF

Соединение таблиц:SELECT Студент.*, Оценка.*, Дисциплина.[Наименова­ние дисциплины] FROM (Студент INNER JOIN (Оценка INNERJOIN (Дисциплина ON Оценка.[Код дисциплины] = Дисцип­63лина.[Код дисциплины])Оценка.[№ зач.книжки])ON Студент.[№ зач.книжки]=Здесь сначала происходит соединение таблиц ОЦЕНКА и ДИСЦИП­ЛИНА по ключу связи [Код дисциплины]. Соединение симметричное,т.е.

если коды дисциплины не совпадают, записи этих таблиц не соеди­няются. Затем происходит соединение таблиц СТУДЕНТ и ОЦЕНКА поключу связи [№ зач.книжки].Таким образом, при условии совпадения ключей связи на выходезапроса получается результат соединения трех таблиц.Удаление записей в таблице. В исходной таблице можно удалитьотдельные записи или все записи, сохранив при этом ее структу­ру и индексы. При удалении записей в индексированной таблицеавтоматически корректируются ее индексы:DELETE [таблица.*] FROM выражение WHERE условия от­бораПолная чистка таблицы от записей и очистка индексов выпол­няются следующей операцией:DELETE * FROM таблицаПример 2.10.

Удаление всех записей в таблице:DELETE * FROM СтудентУдаление только тех записей, в которых поле [Дата рождения] боль­ше указанной даты:DELETE * FROM Студент WHERE [Дата рождения]> #1.1.81 #Удаление в таблице записей, связанных с другой таблицей (условияудаления записей могут относиться к полям связанных таблиц):DELETE таблица.* FROM таблица INNERJOIN другая таб­лица ON таблица.[поле N] = [другая таблица].[поле М]WHERE условиеПример 2.11.

Удаление записей в таблице СТУДЕНТ, для которыхимеются связанные записи в таблице СТУДЕНТ-ЗАОЧНИК:DELETE Студент.* FROM Студент INNER JOIN [Студентзаочник] ON Студент.[Группа] = [Студент-заочник]. [Группа]Обновление (замена) значений полей записи. Изменение значе­ний нескольких полей одной записи или группы записей табли­64цы, удовлетворяющих условиям отбора производится следующейфразой:UPDATE таблица SET новое значение WHERE условия от­бора Новое значение указывается как имя поля=новоезначениеПример 2.12. Отбор студентов, чьи фамилии начинаются на букву В идата рождения не превышает указанной, для перевода в группу 1212:UPDATE Студент SET [Группа] = "1212"WHERE [Фамилия] LIKE 'В*' AND [Дата рождения]#01/01/81#< =Изменение в таблице СТУДЕНТ номеров групп обучения путем до­бавления к ним буквы «а», если эти группы встречаются в таблице СТУДЕНТ-ЗАОЧНИК:UPDATE Студент INNER JOIN [Студент-заочник] ON Сту­дент. [Группа] = [Студент-заочник].[Группа] SET [Груп­па] = [Группа]&"а"Организация запросов в форме SQLСинтаксис оператора SELECT.

Выборка с помощью оператораSELECT — это наиболее частая команда при работе с реляцион­ной базой данных. Данный оператор обладает большими возмож­ностями по заданию структуры выходной информации, указаниюисточников входной информации, способа упорядочения выход­ной информации, формированию новых значений и т.п. (табл. 2.5).При выполнении выборки могут формироваться и новые дан­ные, так называемые вычисляемые поля, являющиеся результа­том обработки исходных данных. Возможно упорядочение выво­димых данных, формирование групп записей, подсчет групповыхитогов, формирование подмножеств данных (записей), являющих­ся основой для формирования условий по обработке следующегоэтапа — вложенных запросов.Универсальный оператор SELECT имеет следующую конструк­цию:SELECT [предикат] {*|таблица.* | [таблица.]поле1 [,[таблица.] поле2[, ...]]}[AS псевдоним1[, псевдоним2[, ...]]]FROM выражение [, ...] [IN внешняя база данных][WHERE ...][GROUP BY ...]65[HAVING ...][ORDER BY ...][WITH OWNERACCESS OPTION]Синтаксис оператора SELECT реализует сложные алгоритмызапросов.Слово SELECT определяет структуру выводимой информации(это могут быть поля таблиц и вычисляемые выражения).Вычисляемое выражение включает в себя:• поля таблиц;• константы;• знаки операций;• встроенные функции;• групповые функции SQL;Пример 2.13.

Использование оператора SELECT:1. SELECT [Имя], [Фамилия] FROM Студент2. SELECT Т0Р5 [Фамилия] FROM Студент3. SELECT Т0Р5 [Фамилия] FROM Студент ORDER BY [Группа]В первом случае выбираются все записи таблицы СТУДЕНТ в составеуказанных полей. Причем, если все поля отбираются в том же самомпорядке, что и в структуре таблицы, можно использовать символ точки.Во втором случае отбирается пять первых фамилий студентов.В третьем случае отбирается пять первых фамилий студентов, а упо­рядочение записей осуществляется по учебным группам.Если используются одноименные поля из нескольких таблиц,включенных в предложение FROM, следует указывать перед име­нем этих полей имя таблицы через точку (.), т.

е. [Студент-заочник].[Группа] и [Студент].[Группа] — два одноименных поля из разныхтаблиц.Для изменения заголовка столбца с результатами выборкииспользуется служебное слово AS.Пример 2.14. Использование служебного слова AS:1. SELECT DISTINCT [Дата рождения] AS Юбилей FROMСтудент2. SELECT [Фамилия]&" "&[Имя] AS ФИО, [Дата рожде­ния] AS Год FROM СтудентВ первом случае будут выведены неповторяющиеся даты рождениястудентов, которые имеют новое наименование — Юбилей.Во втором случае в результирующей таблице будут присутствоватьвсе записи, но вместо [Дата рождения] будет указан Год, а вместо Фами­лия и Имя, соединенных вместе через пробел, — ФИО.66Т а б л и ц а 2.5Аргументы оператора SELECTАргументНазначение11редикатИспользуются для ограничения числа возвращаемыхзаписей:ALL — всех записей;DISTINCT — записей, различающихся в указанныхдля вывода полях;DISTINCTROW — записей, полностью различающих­ся по всем полям;ТОР — заданного числа записей или процента записейв диапазоне, соответствующем фразе ORDER BYТаблицаОпределяет имя таблицы, поля которой формируютвыходные данныеПоле1, Поле2Определяют имена полей, используемых при отборе(порядок следования полей определяет выходнуюструктуру выборки данных)Псевдоним1,11севдоним2Определяют новые заголовки столбцов результата вы­борки данныхFROMОпределяет выражение, используемое для задания ис­точника формирования выборки (обязательно присут­ствует в каждом операторе)Внешняя базаданныхОпределяет имя внешней базы данных — источникаданных для выборки| WHERE...]Необязательный.

Определяет условия отбора записей|GROUP BY...] Необязательный. Указывает поля (максимум 10) дляформирования групп, по которым возможно вычисле­ние групповых итогов; порядок следования полей оп­ределяет виды итогов — старший, промежуточный ит.п.| HAVING ...]Необязательный. Определяет условия отбора записейдля сгруппированных данных (задан способ группиро­вания GROUP BY...)|ORDER BY...] Определяет поля для выполнения упорядочения вы­ходных записей, порядок следования которых соот­ветствует старшинству ключей сортировки.

Упорядо­чение возможно как по возрастанию (ASC), так и поубыванию (DES С) значения выбранного поляСлужит при работе в сети в составе защищенной рабо­[WITHчей группы для указания пользователям, не обладаю­OWNERACCESS OPTION] щим достаточными правами, возможности просмотрарезультата запроса или выполнения запроса67Наиболее часто слово AS применяется для наименований вы­числяемых полей.Задание условий выборки. Предложение WHERE может содер­жать выражения, связанные логическими операторами, с помощьюкоторых задаются условия выборки (табл. 2.6).Т а б л и ц а 2.6Логические условия для построения условий выборкиОператорНазначениеОператорAndЛогическое И —конъюнкция (логическоеумножение)NotОтрицаниеEqvПроверка логическойэквивалентности выра­женийOrЛогическое ИЛИ —дизъюнкция (включаю­щее Ог)ImpЛогическая импликациявыраженийXorЛогическое ИЛИ(исключающее Ог)НазначениеКроме того, могут использоваться операторы для построенияусловий:LIKE — выполняет сравнение строковых значений;BETWEEN...AND — выполняет проверку на диапазон значе­ний;IN — выполняет проверку выражения на совпадение с любымиз элементов списка;1S — выполняет проверку значения на Null.Заданные условия обеспечивают горизонтальную выборку дан­ных, т.е.

результатом запроса будут только те записи, которыеудовлетворяют сформулированным условиям.Пример 2.15. Задание условий выборки:1. SELECT Студент.* FROM Студент WHERE [Дата рожде­ния] >=#01 .01 .79#2. SELECT Студент.* FROM Студент WHERE [Дата рожде­ния] >=#01 .01 .79# AND [Группа] IN ("1212", "1213")3. SELECT Студент.* FROM Студент WHERE [Дата рожде­ния] BETWEEN #01.01.79# AND #01.01.81# AND [Группа] IN("1212", "1213")4. SELECT Студент.* FROM Студент INNER JOIN [Сту­дент-заочник] On Студент.[Группа]= [Студент-заочник].[Группа] WHERE Студент.[Дата рождения]>=#01.01.79#68В первом случае выбираются студенты, родившиеся после 01.01.79.Во втором случае отбираются все студенты, обучающиеся в группах1212 или 1213, родившиеся после 01.01.79.В третьем случае выбираются студенты, дата рождения которых нахо­дится в заданном диапазоне, обучающиеся в любой из указанных групп.В четвертом случае выбираются студенты, которые обучаются в тех жегруппах, что и студенты-заочники, родившиеся после 01.01.79.Групповые функции SQL.

Групповые функции необходимы дляопределения статистических данных на основе наборов числовыхзначений:• Avg — вычисляет среднее арифметическое набора чисел, со­держащихся в указанном поле запроса;• Count — вычисляет число выделенных записей в запросе;• Min, Мах — соответственно возвращают минимальное и мак­симальное значения из набора в указанном поле запроса;• StDev, StDevPs — возвращают среднеквадратическое откло­нение соответственно генеральной совокупности и выборки дляуказанного поля в запросе;• Sum — возвращает сумму значений в заданном поле запроса;• Var, VarPs — возвращают дисперсию распределения соответ­ственно генеральной совокупности и выборки для указанного поляв запросе.Для определения полей группирования указывается ключевоеслово HAVING для заданного условия по группе при вычисле­нии групповых значений.Пример 2.16.

Использование групповых функций SQL:1. SELECT Фамилия, Avg(Результат) AS Средний баллFROM Результаты GROUP BY [№ зач.книжки]2. SELECT [Код дисциплины], Avg(Результаты) AS Сред­ний балл FROM Результаты GROUP BY [Код дисциплины]В первом случае создается список фамилий студентов с указаниемсреднего балла для каждого из них.Во втором случае составляется список кодов дисциплин с указаниемсреднего балла по дисциплине.Пример 2.17. Использование групповых функций SQL:1. SELECT Фамилия, Avg(Результат) AS Средний баллFROM Результаты GROUP BY [№ зач.книжки] HAVING Avg(Результат)>4.52. SELECT [Код дисциплины], Avg(Результат)AS Сред­ний балл FROM Результаты GROUP BY [Код дисциплины]HAVING Avg(Результат)<469В первом случае создается список фамилий студентов с указаниемсреднего балла для каждого из них и выводятся фамилии тех студентов,которые имеют средний балл выше 4,5.Во втором случае выводится список кодов дисциплин со среднимбаллом при условии, что он ниже 4.Подчиненный запрос.

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