Лекция_4 (С.Д. Кузнецов - Презентации лекций)

PDF-файл Лекция_4 (С.Д. Кузнецов - Презентации лекций) Модель данных SQL (37578): Лекции - 4 семестрЛекция_4 (С.Д. Кузнецов - Презентации лекций) - PDF (37578) - СтудИзба2019-05-09СтудИзба

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

Файл "Лекция_4" внутри архива находится в папке "С.Д. Кузнецов - Презентации лекций". PDF-файл из архива "С.Д. Кузнецов - Презентации лекций", который расположен в категории "". Всё это находится в предмете "модель данных sql" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

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

Текст из PDF

Лекция 3. Предикаты раздела WHEREоператора SELECT Введение Логические выражения раздела WHERE20.05.2016Предикат сравненияПредикат betweenПредикат is nullПредикат inПредикат likeПредикат similarПредикат existsПредикат uniqueПредикат overlapsПредикат сравнения с кванторомПредикат matchПредикат is distinctЛекция 4. Предикаты раздела WHEREоператора SELECT1Введение (1) Продолжим рассматривать механизм выборки данных языка SQL –оператор SELECTЛекция целиком посвящена видам условных выражений, которыемогут содержаться в разделе WHERE оператора выборкиОпределяются и иллюстрируются на примерах запросов все видыпредикатов, специфицированных в стандарте SQL:1999.Конструкции оператора SELECT языка SQL в значительнойстепени ортогональныВ частности, выбор способа указания ссылки на таблицы в разделеFROM никак не влияет на выбор варианта формирования условиявыборки в разделе WHEREЭто полезное свойство языка позволяет нам абстрагироваться отобсуждавшегося в предыдущей лекции многообразия способовуказания ссылки на таблицу и20.05.2016сосредоточиться на возможностях формирования запросов прииспользовании различных предикатов, допускаемых стандартомSQL:1999 в логических выражениях раздела WHEREЛекция 4.

Предикаты раздела WHEREоператора SELECT2Введение (2) В стандарте SQL:1999 специфицированы 12 разновидностейпредикатов, причем некоторые из них в действительностипредставляют собой семействанапример, под общим названием предиката сравнения скрываютсяшесть видов предикатов Набор допустимых предикатов в SQL явно избыточен, но тем неменее в языке SQL имеется явная тенденция расширения этогонабора В частности, в SQL:2003 в связи с введением генератора типовмультимножеств в дополнение ко всем разновидностямпредикатов SQL:1999 появилось три новых вида предикатов:20.05.2016для проверки того, что заданное значение является элементоммультимножества (MEMBER);что одно мультимножество входит в другое мультимножество(SUBMULTISET) ичто мультимножество не содержит дубликаты (IS A SET)Лекция 4.

Предикаты раздела WHEREоператора SELECT3Введение (3) В этом курсе мы не приводим подробного описания этихвидов предикатов по нескольким причинам: введение конструктора типов мультимножеств встандарте SQL:2003 не означает, что достигнута общаяцель разработчиков стандарта SQL по обеспечениюполного набора типов коллекций;20.05.2016по всей видимости, в будущих версиях стандарта появятсядополнительные конструкторы типов коллекций, и наборвидов предикатов изменится;предикаты с мультимножествами трудно пояснять ииллюстрировать в отрыве от других объектнореляционных средств языка SQL;включение подобного материала в данную лекциюзаметно увеличило бы ее объем и затруднилопонимание более традиционных конструкцийЛекция 4.

Предикаты раздела WHEREоператора SELECT4Логические выражения разделаWHERE (1) Синтаксически логическое выражение раздела WHEREопределяется как булевское выражение(boolean_value_expression), правила построения которогообсуждались в предыдущей лекции Основой логического выражения являются предикаты Предикат позволяет специфицировать условие, результатомвычисления которого может быть true, false или unknown В языке SQL:1999 допустимы следующие предикаты:20.05.2016Лекция 4. Предикаты раздела WHEREоператора SELECT5Логические выражения разделаWHERE (2) Далее мы будем последовательно обсуждать разные видыпредикатов и приводить примеры запросов сиспользованием базы данных СЛУЖАЩИЕ-ОТДЕЛЫПРОЕКТЫ, определения таблиц которой на языке SQL былиприведены раньше Для удобства повторим структуру таблиц20.05.2016Лекция 4.

Предикаты раздела WHEREоператора SELECT6Логические выражения разделаWHERE (3)Столбцы EMP_NO, DEPT_NO и PRO_NO являются первичными ключами таблиц EMP,DEPT и PRO соответственноСтолбцы DEPT_NO и PRO_NO таблицы EMP являются внешними ключами,ссылающимися на таблицы DEPT и PRO соответственноСтолбец DEPT_MNG является внешним ключом таблицы DEPTDEPT_NO указывает на отделы, в которых работают служащие, а PRO_NO – напроекты, в которых они участвуют; оба столбца могут принимать неопределенныезначенияDEPT_MNG указывает на служащих, которые исполняют обязанности руководителейотделов; у отдела может не быть руководителя, и один служащий не может бытьруководителем двух или более отделовСтолбец PRO_MNG является внешним ключом таблицы PRO20.05.2016PRO_MNG указывает на служащих, которые являются менеджерами проектов, упроекта всегда есть менеджер, и один служащий не может быть менеджером двух илиболее проектовЛекция 4.

Предикаты раздела WHEREоператора SELECT7Логические выражения разделаWHERE (4) Предикат сравнения Этот предикат предназначен для спецификациисравнения двух строчных значений Синтаксис предиката следующий: Строки, являющиеся операндами операциисравнения, должны быть одинаковой степени Типы данных соответствующих значений строкоперандов должны быть совместимы20.05.2016Лекция 4.

Предикаты раздела WHEREоператора SELECT8Логические выражения разделаWHERE (5)Пусть X и Y обозначают соответствующие элементы строк-операндов, а xvи yv – их значенияТогда:если xv и/или yv являются неопределенными значениями, то значениеусловия X comp_op Y - unknown;в противном случае значением условия X comp_op Y является true или falseв соответствии с естественными правилами применения операциисравнения.При этом:Числа сравниваются в соответствии с правилами алгебры.Сравнение двух символьных строк производится следующим образом:20.05.2016если длина строки X не равна длине строки Y, то для выравнивания длинстрок более короткая строка расширяется символами набивки (pad symbol);если для используемого набора символов порядок сортировки явнымобразом не специфицирован, то в качестве символа набивки используетсяпробел;далее производится лексикографическое сравнение строк в соответствии спредопределенным или явно определенным порядком сортировки символовЛекция 4.

Предикаты раздела WHEREоператора SELECT9Логические выражения разделаWHERE (6)Сравнение двух битовых строк X и Y основано на сравнениисоответствующих битЕсли Xi и Yi – значения i-тых бит X и Y соответственно и если lx и lyобозначает длину в битах X и Y соответственно, то:Сравнение двух значений типа дата-время производится всоответствии с видом интервала, который получается привычитании второго значения из первогоПусть X и Y – сравниваемые значения, а H – наименее значимоеполе даты-времени X и YРезультат сравнения X comp_op Y определяется как(X – Y) H comp_ op INTERVAL (0) H20.05.2016X равно Y тогда и только тогда, когда lx = ly и Xi = Yi для всех i;X меньше Y тогда и только тогда, когда (a) lx < ly и Xi = Yi для всех iменьших или равных lx, или (b) Xi = Yi для всех i < n и Xn = 0, а Yn=1 для некоторого n меньшего или равного min (lx, ly).Два значения типа дата-время сравнимы только в том случае, еслиони содержат одинаковый набор полей даты-времениЛекция 4.

Предикаты раздела WHEREоператора SELECT10Логические выражения разделаWHERE (7)Сравнение двух значений анонимного строкового типапроизводится следующим образомПусть Rx и Ry обозначают строки-операнды, а Rxi и Ryi – i-тыеэлементы Rx и Ry соответственноВот как определяется результат сравнения Rx comp_op Ry:20.05.2016Rx = Ry есть true тогда и только тогда, когда Rxi = Ryi есть true длявсех i;Rx <> Ry есть true тогда и только тогда, когда Rxi <> Ryi есть trueдля некоторого i;Rx < Ry есть true тогда и только тогда, когда Rxi = Ryi есть true длявсех i < n, и Rxn < Ryn есть true для некоторого n;Rx > Ry есть true тогда и только тогда, когда Rxi = Ryi есть true длявсех i < n, и Rxn > Ryn есть true для некоторого n;Rx <= Ry есть true тогда и только тогда, когда Rx = Ry есть true илиRx < Ry есть true;Rx >= Ry есть true тогда и только тогда, когда Rx = Ry есть true илиRx > Ry есть true;Лекция 4. Предикаты раздела WHEREоператора SELECT11Логические выражения разделаWHERE (8)20.05.2016Rx = Ry есть false тогда и только тогда, когда Rx <>Ry есть true;Rx <> Ry есть false тогда и только тогда, когда Rx =Ry есть true;Rx < Ry есть false тогда и только тогда, когда Rx >=Ry есть true;Rx > Ry есть false тогда и только тогда, когда Rx <=Ry есть true;Rx <= Ry есть false тогда и только тогда, когда Rx >Ry есть true;Rx >= Ry есть false тогда и только тогда, когда Rx <Ry есть true;Rx comp_op Ry есть unknown тогда и только тогда,когда Rx comp_op Ry не есть true или falseЛекция 4.

Предикаты раздела WHEREоператора SELECT12Логические выражения разделаWHERE (9) Примеры запросов с использованием предикатасравнения Найти номера отделов, в которых работают служащие сфамилией 'Smith‘ Добавили спецификацию DISTINCT в раздел SELECT,потому что в одном отделе могут работать несколькослужащих с фамилией 'Smith', а их число нас в данномслучае не интересует20.05.2016Лекция 4. Предикаты раздела WHEREоператора SELECT13Логические выражения разделаWHERE (10) Если бы нас интересовало число служащих сфамилией 'Smith' в каждом отделе, где такиеслужащие работают, то следовало бы, например,написать такой запрос: В этом варианте запроса спецификация DISTINCTне требуется, поскольку20.05.2016в запросе содержится раздел GROUP BY,группировка производится в соответствии созначениями столбца EMP.DEPT_NO, истрока результата соответствует одной группеЛекция 4.

Предикаты раздела WHEREоператора SELECT14.

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